Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | merge with trunk |
---|---|
Timelines: | family | ancestors | descendants | both | wtf-8-experiment |
Files: | files | file ages | folders |
SHA1: |
52620b1658ac7010d396b15c843b2589 |
User & Date: | chw 2019-11-07 15:28:51.653 |
Context
2019-11-08
| ||
09:36 | merge with trunk check-in: ffedd90795 user: chw tags: wtf-8-experiment | |
2019-11-07
| ||
15:28 | merge with trunk check-in: 52620b1658 user: chw tags: wtf-8-experiment | |
15:26 | update libcurl to version 7.67.0 check-in: 7514898c36 user: chw tags: trunk | |
06:17 | merge with trunk check-in: c1fde526f9 user: chw tags: wtf-8-experiment | |
Changes
Changes to assets/bwidget1.9.13/spinbox.tcl.
︙ | ︙ | |||
61 62 63 64 65 66 67 | proc SpinBox::create { path args } { array set maps [list SpinBox {} :cmd {} .e {} .arrup {} .arrdn {}] array set maps [Widget::parseArgs SpinBox $args] eval [list frame $path] $maps(:cmd) \ [list -highlightthickness 0 -takefocus 0 -class SpinBox] Widget::initFromODB SpinBox $path $maps(SpinBox) | > | > > > > | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | proc SpinBox::create { path args } { array set maps [list SpinBox {} :cmd {} .e {} .arrup {} .arrdn {}] array set maps [Widget::parseArgs SpinBox $args] eval [list frame $path] $maps(:cmd) \ [list -highlightthickness 0 -takefocus 0 -class SpinBox] Widget::initFromODB SpinBox $path $maps(SpinBox) if {[Widget::theme]} { set entry [eval [list Entry::create $path.e] $maps(.e)] } else { set entry [eval [list Entry::create $path.e] $maps(.e) \ -relief flat -bd 0] } bindtags $path.e [linsert [bindtags $path.e] 1 SpinBoxEntry] set farr [frame $path.farr -relief flat -bd 0 -highlightthickness 0] set height [expr {[winfo reqheight $path.e]/2-2}] set width 11 set arrup [eval [list ArrowButton::create $path.arrup -dir top] \ $maps(.arrup) \ |
︙ | ︙ |
Changes to assets/bwidget1.9.13/widget.tcl.
︙ | ︙ | |||
494 495 496 497 498 499 500 501 502 503 504 505 506 507 | upvar 0 ${class}::optionExports exports upvar 0 ${class}::map classmap upvar 0 ${class}::map$subpath submap foreach {option realopt} $options { if { ![string length $realopt] } { set realopt $option } set val [lindex $classopt($option) 1] set optDb ".[lindex [_configure_option $realopt ""] 0]" if { ![string equal $subpath ":cmd"] } { set optDb "$subpath$optDb" } option add *${class}${optDb} $val widgetDefault | > > > | 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 | upvar 0 ${class}::optionExports exports upvar 0 ${class}::map classmap upvar 0 ${class}::map$subpath submap foreach {option realopt} $options { if { ![string length $realopt] } { set realopt $option } if { ![info exists classopt($option)] } { continue } set val [lindex $classopt($option) 1] set optDb ".[lindex [_configure_option $realopt ""] 0]" if { ![string equal $subpath ":cmd"] } { set optDb "$subpath$optDb" } option add *${class}${optDb} $val widgetDefault |
︙ | ︙ |
Changes to jni/SDL2/src/video/jsmpeg/SDL_jsmpeg_files.h.
︙ | ︙ | |||
7220 7221 7222 7223 7224 7225 7226 | 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x44, 0x61, 0x74, 0x65, 0x2e, 0x6e, 0x6f, 0x77, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x65, 0x6e, 0x64, 0x28, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x2c, 0x20, 0x64, 0x69, 0x66, 0x66, 0x29, 0x3b, 0x0a, | | < < < | < < < | | < | < | < < < < < < | | | | < | > | < | | | | | | < > | | | > | < | > > > > | | | | | | | | | | | | | > > > > | | | | | | | | | | | > > > > > > > > > > > > > | | | | | | | | | | | | | | | | | > > > > > > > > > | | | | | | > > > > | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > | < | | | | > > > > > > > > > > > > > > > > | | > > | | | | < < < | > | | | | > | | | | < < | > | > > | | | < < | | < < < < < < < < < < < < < < < | | > | | | | | | | | > | | > > | | > > > | | | > | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | | | | | < < < < < < < < < < < < < < < < | | > > > > > > > > > > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > < < < | | | | | | | > > > > > > | < < < < < < | | | | | | | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | | | | | | | | > > > | | | < | | | | < | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | | | | | | | | | | > > > > > > > > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | | 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 | 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x44, 0x61, 0x74, 0x65, 0x2e, 0x6e, 0x6f, 0x77, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x65, 0x6e, 0x64, 0x28, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x2c, 0x20, 0x64, 0x69, 0x66, 0x66, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x65, 0x76, 0x2e, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x6d, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x65, 0x76, 0x2e, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x65, 0x76, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x4d, 0x4f, 0x55, 0x53, 0x45, 0x5f, 0x57, 0x48, 0x45, 0x45, 0x4c, 0x3b, 0x0a, 0x09, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x65, 0x76, 0x2e, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x3b, 0x0a, 0x09, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x65, 0x76, 0x2e, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x58, 0x3b, 0x0a, 0x09, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x65, 0x76, 0x2e, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x59, 0x3b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x65, 0x6e, 0x64, 0x28, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x09, 0x65, 0x76, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x70, 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x3d, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x65, 0x76, 0x20, 0x3d, 0x20, 0x65, 0x76, 0x20, 0x7c, 0x7c, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x3b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x4b, 0x65, 0x79, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x4b, 0x45, 0x59, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x2c, 0x20, 0x65, 0x76, 0x2e, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x2c, 0x0a, 0x09, 0x09, 0x65, 0x76, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x2f, 0x2a, 0x20, 0x44, 0x4f, 0x4d, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x20, 0x2a, 0x2f, 0x29, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x50, 0x72, 0x65, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x3d, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x65, 0x76, 0x20, 0x3d, 0x20, 0x65, 0x76, 0x20, 0x7c, 0x7c, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x3b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x4b, 0x65, 0x79, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x53, 0x2c, 0x20, 0x65, 0x76, 0x2e, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x55, 0x70, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x3d, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x65, 0x76, 0x20, 0x3d, 0x20, 0x65, 0x76, 0x20, 0x7c, 0x7c, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x3b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x4b, 0x65, 0x79, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x50, 0x2c, 0x20, 0x65, 0x76, 0x2e, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x2c, 0x0a, 0x09, 0x09, 0x65, 0x76, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x2f, 0x2a, 0x20, 0x44, 0x4f, 0x4d, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x20, 0x2a, 0x2f, 0x29, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x0a, 0x69, 0x66, 0x20, 0x28, 0x20, 0x6d, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6b, 0x65, 0x79, 0x64, 0x6f, 0x77, 0x6e, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6b, 0x65, 0x79, 0x70, 0x72, 0x65, 0x73, 0x73, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x50, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6b, 0x65, 0x79, 0x75, 0x70, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x55, 0x70, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x09, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6b, 0x65, 0x79, 0x64, 0x6f, 0x77, 0x6e, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x09, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6b, 0x65, 0x79, 0x75, 0x70, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x55, 0x70, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x0a, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x4d, 0x4f, 0x55, 0x53, 0x45, 0x5f, 0x31, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x3b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x65, 0x76, 0x2e, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x33, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x4d, 0x4f, 0x55, 0x53, 0x45, 0x5f, 0x32, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x65, 0x76, 0x2e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x7c, 0x7c, 0x20, 0x65, 0x76, 0x2e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x33, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x4d, 0x4f, 0x55, 0x53, 0x45, 0x5f, 0x32, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x75, 0x70, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x4d, 0x4f, 0x55, 0x53, 0x45, 0x5f, 0x31, 0x5f, 0x55, 0x50, 0x3b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x65, 0x76, 0x2e, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x33, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x4d, 0x4f, 0x55, 0x53, 0x45, 0x5f, 0x32, 0x5f, 0x55, 0x50, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x65, 0x76, 0x2e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x7c, 0x7c, 0x20, 0x65, 0x76, 0x2e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x33, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x4d, 0x4f, 0x55, 0x53, 0x45, 0x5f, 0x32, 0x5f, 0x55, 0x50, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x28, 0x65, 0x76, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x0a, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x73, 0x74, 0x61, 0x72, 0x74, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x65, 0x76, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x73, 0x5b, 0x30, 0x5d, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x58, 0x3b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x65, 0x76, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x73, 0x5b, 0x30, 0x5d, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x59, 0x3b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x4d, 0x4f, 0x55, 0x53, 0x45, 0x5f, 0x31, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x6e, 0x64, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x4d, 0x4f, 0x55, 0x53, 0x45, 0x5f, 0x31, 0x5f, 0x55, 0x50, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x6d, 0x6f, 0x76, 0x65, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x20, 0x65, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x73, 0x74, 0x61, 0x72, 0x74, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x4b, 0x65, 0x79, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x4b, 0x45, 0x59, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x20, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x6e, 0x64, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x4b, 0x65, 0x79, 0x28, 0x65, 0x76, 0x2c, 0x20, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x50, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x20, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x20, 0x3d, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x28, 0x27, 0x2e, 0x6b, 0x65, 0x79, 0x27, 0x29, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x76, 0x61, 0x72, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x28, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x5b, 0x69, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x5b, 0x69, 0x5d, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x7a, 0x6f, 0x6f, 0x6d, 0x46, 0x75, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x45, 0x78, 0x69, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x6e, 0x6f, 0x74, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x6f, 0x7a, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x6f, 0x7a, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x6e, 0x6f, 0x74, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x73, 0x46, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x73, 0x45, 0x78, 0x69, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x6e, 0x6f, 0x74, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x66, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x78, 0x69, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x6e, 0x6f, 0x74, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x6e, 0x6f, 0x74, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x3b, 0x0a, 0x09, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x3b, 0x0a, 0x09, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x42, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3b, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x20, 0x77, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2a, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x2e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2f, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x2e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3b, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2a, 0x20, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2f, 0x20, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x77, 0x20, 0x3e, 0x20, 0x63, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x73, 0x77, 0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x31, 0x30, 0x30, 0x20, 0x2a, 0x20, 0x63, 0x20, 0x2f, 0x20, 0x77, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x73, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x2b, 0x20, 0x73, 0x77, 0x20, 0x2b, 0x20, 0x27, 0x25, 0x27, 0x3b, 0x0a, 0x09, 0x09, 0x73, 0x68, 0x20, 0x3d, 0x20, 0x27, 0x31, 0x30, 0x30, 0x25, 0x27, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x73, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x31, 0x30, 0x30, 0x25, 0x27, 0x3b, 0x0a, 0x09, 0x09, 0x73, 0x68, 0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x31, 0x30, 0x30, 0x20, 0x2a, 0x20, 0x77, 0x20, 0x2f, 0x20, 0x63, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x73, 0x68, 0x20, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x2b, 0x20, 0x73, 0x68, 0x20, 0x2b, 0x20, 0x27, 0x25, 0x27, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x3b, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x68, 0x3b, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x27, 0x30, 0x70, 0x78, 0x27, 0x3b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x67, 0x75, 0x69, 0x2e, 0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x67, 0x75, 0x69, 0x2e, 0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x28, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x4b, 0x45, 0x59, 0x42, 0x4f, 0x41, 0x52, 0x44, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x20, 0x67, 0x75, 0x69, 0x2e, 0x6d, 0x6f, 0x7a, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x67, 0x75, 0x69, 0x2e, 0x6d, 0x6f, 0x7a, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x20, 0x67, 0x75, 0x69, 0x2e, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x67, 0x75, 0x69, 0x2e, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x67, 0x75, 0x69, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x7a, 0x6f, 0x6f, 0x6d, 0x4b, 0x65, 0x79, 0x20, 0x3d, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x28, 0x27, 0x23, 0x6b, 0x65, 0x79, 0x2d, 0x7a, 0x6f, 0x6f, 0x6d, 0x27, 0x29, 0x3b, 0x0a, 0x7a, 0x6f, 0x6f, 0x6d, 0x4b, 0x65, 0x79, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x73, 0x74, 0x61, 0x72, 0x74, 0x27, 0x2c, 0x20, 0x7a, 0x6f, 0x6f, 0x6d, 0x46, 0x75, 0x6e, 0x63, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x7a, 0x6f, 0x6f, 0x6d, 0x4b, 0x65, 0x79, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x27, 0x2c, 0x20, 0x7a, 0x6f, 0x6f, 0x6d, 0x46, 0x75, 0x6e, 0x63, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x6b, 0x62, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x21, 0x3d, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x3d, 0x20, 0x27, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x27, 0x3b, 0x0a, 0x09, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x65, 0x76, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x3d, 0x20, 0x27, 0x6e, 0x6f, 0x6e, 0x65, 0x27, 0x3b, 0x0a, 0x09, 0x09, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x6b, 0x62, 0x64, 0x4b, 0x65, 0x79, 0x20, 0x3d, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x28, 0x27, 0x23, 0x6b, 0x65, 0x79, 0x2d, 0x6b, 0x62, 0x64, 0x27, 0x29, 0x3b, 0x0a, 0x6b, 0x62, 0x64, 0x4b, 0x65, 0x79, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x73, 0x74, 0x61, 0x72, 0x74, 0x27, 0x2c, 0x20, 0x6b, 0x62, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x6b, 0x62, 0x64, 0x4b, 0x65, 0x79, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x27, 0x2c, 0x20, 0x6b, 0x62, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x6e, 0x6f, 0x6e, 0x65, 0x27, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x72, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x22, 0x3b, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x62, 0x6c, 0x75, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x3d, 0x20, 0x27, 0x6e, 0x6f, 0x6e, 0x65, 0x27, 0x3b, 0x0a, 0x09, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x27, 0x2c, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x75, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x28, 0x29, 0x3b, 0x20, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x20, 0x29, 0x3b, 0x0a, 0x2f, 0x2f, 0x20, 0x43, 0x61, 0x74, 0x63, 0x68, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x65, 0x6e, 0x75, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x65, 0x76, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x65, 0x76, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x7d, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x65, 0x76, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x20, 0x27, 0x77, 0x73, 0x3a, 0x2f, 0x2f, 0x27, 0x20, 0x2b, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x2b, 0x20, 0x27, 0x2f, 0x77, 0x73, 0x27, 0x2c, 0x20, 0x22, 0x77, 0x73, 0x22, 0x20, 0x29, 0x3b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x6a, 0x73, 0x6d, 0x70, 0x65, 0x67, 0x28, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x7b, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x3a, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x2c, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x32, 0x44, 0x3a, 0x75, 0x73, 0x65, 0x32, 0x64, 0x7d, 0x29, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x0a, 0x76, 0x61, 0x72, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x64, 0x28, 0x27, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x27, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x73, 0x74, 0x61, 0x72, 0x74, 0x27, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x27, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x27, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x2c, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x3b, 0x0a }; static const unsigned char JSMPEG_file_4[] = { 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x10, 0x10, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x68, 0x04, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0xa8, 0x10, 0x00, 0x00, 0x9e, 0x04, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0xa8, 0x25, |
︙ | ︙ |
Changes to jni/SDL2/src/video/jsmpeg/data/jsmpg-vnc.js.
︙ | ︙ | |||
242 243 244 245 246 247 248 249 250 251 252 253 254 255 | client.send(mouseDataBuffer); } else { mouseTimer = setTimeout(function() { mouseMotionTime = Date.now(); client.send(mouseDataBuffer); }, diff); } ev.preventDefault(); }; var sendWheel = function(ev) { mouseDataTypeFlags[0] = INPUT_MOUSE_WHEEL; mouseDataTypeFlags[1] = ev.deltaMode; mouseDataCoords[0] = ev.deltaX; | > > > > | 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | client.send(mouseDataBuffer); } else { mouseTimer = setTimeout(function() { mouseMotionTime = Date.now(); client.send(mouseDataBuffer); }, diff); } ev.stopPropagation(); if ( msLike ) { ev.cancelBubble = true; } ev.preventDefault(); }; var sendWheel = function(ev) { mouseDataTypeFlags[0] = INPUT_MOUSE_WHEEL; mouseDataTypeFlags[1] = ev.deltaMode; mouseDataCoords[0] = ev.deltaX; |
︙ | ︙ | |||
295 296 297 298 299 300 301 | document.addEventListener('keyup', keyUp, false); } else { window.addEventListener('keydown', keyDown, false); window.addEventListener('keyup', keyUp, false); } // Mouse | | > > > | > > > > > > > > > | > > > > > > > > > | > > > > | > > > | > > > | 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | document.addEventListener('keyup', keyUp, false); } else { window.addEventListener('keydown', keyDown, false); window.addEventListener('keyup', keyUp, false); } // Mouse canvas.addEventListener('mousemove', function(ev) { sendMouse(ev, null); return false; }, false); canvas.addEventListener('mousedown', function(ev) { var button = MOUSE_1_DOWN; if (ev.which === 3) { button = MOUSE_2_DOWN; } else if (ev.button === 2 || ev.button === 3) { button = MOUSE_2_DOWN; } sendMouse(ev, button); return false; }, false); canvas.addEventListener('mouseup', function(ev) { var button = MOUSE_1_UP; if (ev.which === 3) { button = MOUSE_2_UP; } else if (ev.button === 2 || ev.button === 3) { button = MOUSE_2_UP; } sendMouse(ev, button); return false; }, false); canvas.addEventListener('wheel', function(ev) { sendWheel(ev); return false; }, false); // Touch canvas.addEventListener('touchstart', function(ev) { lastMouse.x = ev.changedTouches[0].clientX; lastMouse.y = ev.changedTouches[0].clientY; sendMouse(ev, MOUSE_1_DOWN); return false; }, false); canvas.addEventListener('touchend', function(ev) { sendMouse(ev, MOUSE_1_UP); return false; }, false); canvas.addEventListener('touchmove', function(ev) { sendMouse(ev, null); return false; }, false); // Touch buttons emulating keyboard keys var defineTouchButton = function(element, keyCode) { element.addEventListener('touchstart', function(ev) { sendKey(ev, KEY_DOWN, keyCode, false); }, false); element.addEventListener('touchend', function(ev) { sendKey(ev, KEY_UP, keyCode, false); }, false); }; |
︙ | ︙ | |||
399 400 401 402 403 404 405 | window.focus(); }; input.addEventListener('change', inputHandler, false); // Window closed window.addEventListener('unload', function(ev) { closeClient(); }, false ); | > > > > > | > > | | | 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 | window.focus(); }; input.addEventListener('change', inputHandler, false); // Window closed window.addEventListener('unload', function(ev) { closeClient(); }, false ); // Catch right mouse button window.addEventListener('contextmenu', function(ev) { if ( ev.target === canvas ) { ev.preventDefault(); return false; } }, false); var connFunc = function(ev) { client = new WebSocket( 'ws://' + window.location.host + '/ws', "ws" ); player = new jsmpeg(client, {canvas:canvas, forceCanvas2D:use2d}); }; // Connect button var connButton = document.getElementById('button-connect'); connButton.addEventListener('touchstart', connFunc, false); connButton.addEventListener('mousedown', connFunc, false); |
Changes to jni/curl/CHANGES.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| Changelog Version 7.66.0 (10 Sep 2019) Daniel Stenberg (10 Sep 2019) - RELEASE-NOTES: curl 7.66.0 - THANKS: from the 7.66.0 release | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 | _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| Changelog Version 7.67.0 (5 Nov 2019) Daniel Stenberg (5 Nov 2019) - RELEASE-NOTES: synced The 7.67.0 release - THANKS: add new names from 7.67.0 - configure: only say ipv6 enabled when the variable is set Previously it could say "IPv6: enabled" at the end of the configure run but the define wasn't set because of a missing getaddrinfo(). Reported-by: Marcel Raad Fixes #4555 Closes #4560 Marcel Raad (2 Nov 2019) - certs/Server-localhost-lastSAN-sv: regenerate with sha256 All other certificates were regenerated in commit ba782baac30, but this one was missed. Fixes test3001 on modern systems. Closes https://github.com/curl/curl/pull/4551 Daniel Stenberg (2 Nov 2019) - [Vilhelm Prytz brought this change] copyrights: update all copyright notices to 2019 on files changed this year Closes #4547 - [Bastien Bouclet brought this change] mbedtls: add error message for cert validity starting in the future Closes #4552 Jay Satiro (1 Nov 2019) - schannel_verify: Fix concurrent openings of CA file - Open the CA file using FILE_SHARE_READ mode so that others can read from it as well. Prior to this change our schannel code opened the CA file without sharing which meant concurrent openings (eg an attempt from another thread or process) would fail during the time it was open without sharing, which in curl's case would cause error: "schannel: failed to open CA file". Bug: https://curl.haxx.se/mail/lib-2019-10/0104.html Reported-by: Richard Alcock Daniel Stenberg (31 Oct 2019) - gtls: make gnutls_bye() not wait for response on shutdown ... as it can make it wait there for a long time for no good purpose. Patched-by: Jay Satiro Reported-by: Bylon2 on github Adviced-by: Nikos Mavrogiannopoulos Fixes #4487 Closes #4541 - [Michał Janiszewski brought this change] appveyor: publish artifacts on appveyor This allows obtaining upstream builds of curl directly from appveyor for all the available configurations Closes #4509 - url: make Curl_close() NULLify the pointer too This is the common pattern used in the code and by a unified approach we avoid mistakes. Closes #4534 - [Trivikram Kamat brought this change] INSTALL: add missing space for configure commands Closes #4539 - url: Curl_free_request_state() should also free doh handles ... or risk DoH memory leaks. Reported-by: Paul Dreik Fixes #4463 Closes #4527 - examples: remove the "this exact code has not been verified" ... as really confuses the reader to not know what to believe! - [Trivikram Kamat brought this change] HTTP3: fix typo somehere1 > somewhere1 Closes #4535 Jay Satiro (28 Oct 2019) - [Javier Blazquez brought this change] HTTP3: fix invalid use of sendto for connected UDP socket On macOS/BSD, trying to call sendto on a connected UDP socket fails with a EISCONN error. Because the singleipconnect has already called connect on the socket when we're trying to use it for QUIC transfers we need to use plain send instead. Fixes #4529 Closes https://github.com/curl/curl/pull/4533 Daniel Stenberg (28 Oct 2019) - RELEASE-NOTES: synced - [Javier Blazquez brought this change] HTTP3: fix Windows build The ngtcp2 QUIC backend was using the MSG_DONTWAIT flag for send/recv in order to perform nonblocking operations. On Windows this flag does not exist. Instead, the socket must be set to nonblocking mode via ioctlsocket. This change sets the nonblocking flag on UDP sockets used for QUIC on all platforms so the use of MSG_DONTWAIT is not needed. Fixes #4531 Closes #4532 Marcel Raad (27 Oct 2019) - appveyor: add --disable-proxy autotools build This would have caught issue #3926. Also make formatting more consistent. Closes https://github.com/curl/curl/pull/4526 Daniel Stenberg (25 Oct 2019) - appveyor: make winbuilds with DEBUG=no/yes and VS 2015/2017 ... and invoke "curl -V" once done Co-Authored-By: Jay Satiro Closes #4523 - [Francois Rivard brought this change] schannel: reverse the order of certinfo insertions Fixes #4518 Closes #4519 Marcel Raad (24 Oct 2019) - test1591: fix spelling of http feature The test never got run because the feature name is `http` in lowercase. Closes https://github.com/curl/curl/pull/4520 Daniel Stenberg (23 Oct 2019) - [Michał Janiszewski brought this change] appveyor: Use two parallel compilation on appveyor with CMake Appveyor provides 2 CPUs for each builder[1], make sure to use parallel compilation, when running with CMake. CMake learned this new option in version 3.12[2] and the version provided by appveyor is fresh enough. Curl doesn't really take that long to build and it is using the slowest builder available, msbuild, so expect only a moderate improvement in build times. [1] https://www.appveyor.com/docs/build-environment/ [2] https://cmake.org/cmake/help/v3.12/release/3.12.html Closes #4508 - conn-reuse: requests wanting NTLM can reuse non-NTLM connections Added test case 338 to verify. Reported-by: Daniel Silverstone Fixes #4499 Closes #4514 Marcel Raad (23 Oct 2019) - tests: add missing proxy features Daniel Stenberg (22 Oct 2019) - RELEASE-NOTES: synced Marcel Raad (21 Oct 2019) - tests: use %FILE_PWD for file:// URLs This way, we always have exactly one slash after the host name, making the tests pass when curl is compiled with the MSYS GCC. Closes https://github.com/curl/curl/pull/4512 - tests: add `connect to non-listen` keywords These tests try to connect to ports nothing is listening on. Closes https://github.com/curl/curl/pull/4511 - runtests: get textaware info from curl instead of perl The MSYS system on Windows can run the test suite for curl built with any toolset. When built with the MSYS GCC, curl uses Unix line endings, while it uses Windows line endings when built with the MinGW GCC, and `^O` reports 'msys' in both cases. Use the curl executable itself to determine the line endings instead, which reports 'x86_64-pc-msys' when built with the MSYS GCC. Closes https://github.com/curl/curl/pull/4506 Daniel Stenberg (20 Oct 2019) - [Michał Janiszewski brought this change] appveyor: Add MSVC ARM64 build Closes #4507 - http2_recv: a closed stream trumps pause state ... and thus should return 0, not EAGAIN. Reported-by: Tom van der Woerdt Fixes #4496 Closes #4505 - http2: expire a timeout at end of stream To make sure that transfer is being dealt with. Streams without Content-Length need a final read to notice the end-of-stream state. Reported-by: Tom van der Woerdt Fixes #4496 Dan Fandrich (18 Oct 2019) - travis: Add an ARM64 build Test 323 is failing for some reason, so disable it there for now. Marcel Raad (18 Oct 2019) - examples/sslbackend: fix -Wchar-subscripts warning With the `isdigit` implementation that comes with MSYS2, the argument is used as an array subscript, resulting in a -Wchar-subscripts warning. `isdigit`'s behavior is undefined if the argument is negative and not EOF [0]. As done in lib/curl_ctype.h, cast the `char` variable to `unsigned char` to avoid that. [0] https://en.cppreference.com/w/c/string/byte/isdigit Closes https://github.com/curl/curl/pull/4503 Daniel Stenberg (18 Oct 2019) - configure: remove all cyassl references In particular, this removes the case where configure would find an old cyall installation rather than a wolfssl one if present. The library is named wolfssl in modern days so there's no real need to keep support for the former. Reported-by: Jacob Barthelmeh Closes #4502 Marcel Raad (17 Oct 2019) - test1162: disable MSYS2's POSIX path conversion This avoids MSYS2 converting the backslasb in the URL to a slash, causing the test to fail. Daniel Stenberg (17 Oct 2019) - RELEASE-NOTES: synced Jay Satiro (16 Oct 2019) - CURLOPT_TIMEOUT.3: Clarify transfer timeout time includes queue time Prior to this change some users did not understand that the "request" starts when the handle is added to the multi handle, or probably they did not understand that some of those transfers may be queued and that time is included in timeout. Reported-by: Jeroen Ooms Fixes https://github.com/curl/curl/issues/4486 Closes https://github.com/curl/curl/pull/4489 - [Stian Soiland-Reyes brought this change] tool_operate: Fix retry sleep time shown to user when Retry-After - If server header Retry-After is being used for retry sleep time then show that value to the user instead of the normal retry sleep time. This is a follow-up to 640b973 (7.66.0) which changed curl tool so that the value from Retry-After header overrides other retry timing options. Closes https://github.com/curl/curl/pull/4498 Daniel Stenberg (16 Oct 2019) - url: normalize CURLINFO_EFFECTIVE_URL The URL extracted with CURLINFO_EFFECTIVE_URL was returned as given as input in most cases, which made it not get a scheme prefixed like before if the URL was given without one, and it didn't remove dotdot sequences etc. Added test case 1907 to verify that this now works as intended and as before 7.62.0. Regression introduced in 7.62.0 Reported-by: Christophe Dervieux Fixes #4491 Closes #4493 Marcel Raad (16 Oct 2019) - tests: line ending fixes for Windows Mark some files as text. Closes https://github.com/curl/curl/pull/4490 - tests: use proxy feature This makes the tests succeed when using --disable-proxy. Closes https://github.com/curl/curl/pull/4488 - smbserver: fix Python 3 compatibility Python 2's `ConfigParser` module is spelled `configparser` in Python 3. Closes https://github.com/curl/curl/pull/4484 - security: silence conversion warning With MinGW-w64, `curl_socket_t` is is a 32 or 64 bit unsigned integer, while `read` expects a 32 bit signed integer. Use `sread` instead of `read` to use the correct parameter type. Closes https://github.com/curl/curl/pull/4483 - connect: silence sign-compare warning With MinGW-w64 using WinSock, `curl_socklen_t` is signed, while the result of `sizeof` is unsigned. Closes https://github.com/curl/curl/pull/4483 Daniel Stenberg (13 Oct 2019) - TODO: Handle growing SFTP files Closes #4344 - KNOWN_BUGS: remove "CURLFORM_CONTENTLEN in an array" The curl_formadd() function is deprecated and shouldn't be used so the real fix for applications is to switch to the curl_mime_* API. - KNOWN_BUGS: "LDAP on Windows does authentication wrong" Closes #3116 - appveyor: add a winbuild that uses VS2017 Closes #4482 - [Harry Sintonen brought this change] socketpair: fix include and define for older TCP header systems fixed build for systems that need netinet/in.h for IPPROTO_TCP and are missing INADDR_LOOPBACK Closes #4480 - socketpair: fix double-close in error case Follow-up to bc2dbef0afc08 - gskit: use the generic Curl_socketpair - asyn-thread: make use of Curl_socketpair() where available - socketpair: an implemention for Windows and more Curl_socketpair() is designed to be used and work everywhere if there's no native version or the native version isn't good enough. Closes #4466 - RELEASE-NOTES: synced - connect: return CURLE_OPERATION_TIMEDOUT for errno == ETIMEDOUT Previosly all connect() failures would return CURLE_COULDNT_CONNECT, no matter what errno said. This makes for example --retry work on these transfer failures. Reported-by: Nathaniel J. Smith Fixes #4461 Clsoes #4462 - cirrus: switch off blackhole status on the freebsd CI machines - tests: use port 2 instead of 60000 for a safer non-listening port ... when the tests want "connection refused". - KNOWN_BUGS: IDN tests failing on Windows Closes #3747 Dan Fandrich (9 Oct 2019) - cirrus: Increase the git clone depth. If more commits are submitted to master between the time of triggering the first Cirrus build and the time the final build gets started, the desired commit is no longer at HEAD and the build will error out. [skip ci] Daniel Stenberg (9 Oct 2019) - docs: make sure the --no-progress-meter docs file is in dist too - docs: document it as --no-progress-meter instead of the reverse Follow-up to 93373a960c3bb4 Reported-by: infinnovation-dev on github Fixes #4474 Closes #4475 Dan Fandrich (9 Oct 2019) - cirrus: Switch the FreeBSD 11.x build to 11.3 and add a 13.0 build. Also, select the images using image_family to get the latest snapshots automatically. [skip ci] Daniel Stenberg (8 Oct 2019) - curl: --no-progress-meter New option that allows a user to ONLY switch off curl's progress meter and leave everything else in "talkative" mode. Reported-by: Piotr Komborski Fixes #4422 Closes #4470 - TODO: Consult %APPDATA% also for .netrc Closes #4016 - CURLOPT_TIMEOUT.3: remove the mention of "minutes" ... just say that limiting operations risk aborting otherwise fine working transfers. If that means seconds, minutes or hours, we leave to the user. Reported-by: Martin Gartner Closes #4469 - [Andrei Valeriu BICA brought this change] docs: added multi-event.c example Similar to multi-uv.c but using libevent 2. This is a simpler libevent integration example then hiperfifo.c. Closes #4471 Jay Satiro (5 Oct 2019) - [Nicolas brought this change] ldap: fix OOM error on missing query string - Allow missing queries, don't return NO_MEMORY error in such a case. It is acceptable for there to be no specified query string, for example: curl ldap://ldap.forumsys.com A regression bug in 1b443a7 caused this issue. This is a partial fix for #4261. Bug: https://github.com/curl/curl/issues/4261#issuecomment-525543077 Reported-by: Jojojov@users.noreply.github.com Analyzed-by: Samuel Surtees Closes https://github.com/curl/curl/pull/4467 - [Paul B. Omta brought this change] build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines Closes https://github.com/curl/curl/pull/4460 Daniel Stenberg (5 Oct 2019) - RELEASE-NOTES: synced - [Stian Soiland-Reyes brought this change] curl: ensure HTTP 429 triggers --retry This completes #3794. Also make sure the new tests from #4195 are enabled Closes #4465 Marcel Raad (4 Oct 2019) - [apique brought this change] winbuild: add ENABLE_UNICODE option Fixes https://github.com/curl/curl/issues/4308 Closes https://github.com/curl/curl/pull/4309 Daniel Stenberg (4 Oct 2019) - ngtcp2: adapt to API change Closes #4457 - cookies: change argument type for Curl_flush_cookies The second argument is really a 'bool' so use that and pass in TRUE/FALSE to make it clear. Closes #4455 - http2: move state-init from creation to pre-transfer To make sure that the HTTP/2 state is initialized correctly for duplicated handles. It would otherwise easily generate "spurious" PRIORITY frames to get sent over HTTP/2 connections when duplicated easy handles were used. Reported-by: Daniel Silverstone Fixes #4303 Closes #4442 - urlapi: fix use-after-free bug Follow-up from 2c20109a9b5d04 Added test 663 to verify. Reported by OSS-Fuzz Bug: https://crbug.com/oss-fuzz/17954 Closes #4453 - [Paul Dreik brought this change] cookie: avoid harmless use after free This fix removes a use after free which can be triggered by the internal cookie fuzzer, but otherwise is probably impossible to trigger from an ordinary application. The following program reproduces it: curl_global_init(CURL_GLOBAL_DEFAULT); CURL* handle=curl_easy_init(); CookieInfo* info=Curl_cookie_init(handle,NULL,NULL,false); curl_easy_setopt(handle, CURLOPT_COOKIEJAR, "/dev/null"); Curl_flush_cookies(handle, true); Curl_cookie_cleanup(info); curl_easy_cleanup(handle); curl_global_cleanup(); This was found through fuzzing. Closes #4454 - [Denis Chaplygin brought this change] docs: add note on failed handles not being counted by curl_multi_perform Closes #4446 - CURLMOPT_MAX_CONCURRENT_STREAMS.3: fix SEE ALSO typo - [Niall brought this change] ESNI: initial build/setup Closes #4011 - RELEASE-NOTES: synced - redirect: when following redirects to an absolute URL, URL encode it ... to make it handle for example (RFC violating) embeded spaces. Reported-by: momala454 on github Fixes #4445 Closes #4447 - urlapi: fix URL encoding when setting a full URL - tool_operate: rename functions to make more sense - curl: create easy handles on-demand and not ahead of time This should again enable crazy-large download ranges of the style [1-10000000] that otherwise easily ran out of memory starting in 7.66.0 when this new handle allocating scheme was introduced. Reported-by: Peter Sumatra Fixes #4393 Closes #4438 - [Kunal Ekawde brought this change] CURLMOPT_MAX_CONCURRENT_STREAMS: new setopt Closes #4410 - chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error Unknown content-encoding would get returned as CURLE_WRITE_ERROR if the response is chunked-encoded. Reported-by: Ilya Kosarev Fixes #4310 Closes #4449 Marcel Raad (1 Oct 2019) - checksrc: fix uninitialized variable warning The loop doesn't need to be executed without a file argument. Closes https://github.com/curl/curl/pull/4444 - urlapi: fix unused variable warning `dest` is only used with `ENABLE_IPV6`. Closes https://github.com/curl/curl/pull/4444 - lib: silence conversion warnings Closes https://github.com/curl/curl/pull/4444 - AppVeyor: add 32-bit MinGW-w64 build With WinSSL and testing enabled so that it would have detected most of the warnings fixed in [0] and [1]. [0] https://github.com/curl/curl/pull/4398 [1] https://github.com/curl/curl/pull/4415 Closes https://github.com/curl/curl/pull/4433 - AppVeyor: remove MSYS2_ARG_CONV_EXCL for winbuild It's only used for MSYS2 with MinGW. Closes Daniel Stenberg (30 Sep 2019) - [Emil Engler brought this change] git: add tests/server/disabled to .gitignore Closes #4441 - altsvc: accept quoted ma and persist values As mandated by the spec. Test 1654 is extended to verify. Closes #4443 - mailmap: a Lucas fix Alessandro Ghedini (29 Sep 2019) - [Lucas Pardue brought this change] quiche: update HTTP/3 config creation to new API Daniel Stenberg (29 Sep 2019) - BINDINGS: PureBasic, Net::Curl for perl and Nim - BINDINGS: Kapito is an Erlang library, basically a binding - BINDINGS: added clj-curl Reported-by: Lucas Severo - [Jay Satiro brought this change] docs: disambiguate CURLUPART_HOST is for host name (ie no port) Closes #4424 - cookies: using a share with cookies shouldn't enable the cookie engine The 'share object' only sets the storage area for cookies. The "cookie engine" still needs to be enabled or activated using the normal cookie options. This caused the curl command line tool to accidentally use cookies without having been told to, since curl switched to using shared cookies in 7.66.0. Test 1166 verifies Updated test 506 Fixes #4429 Closes #4434 - setopt: handle ALTSVC set to NULL - RELEASE-NOTES: synced - [grdowns brought this change] INSTALL: add vcpkg installation instructions Closes #4435 - [Zenju brought this change] FTP: add test for FTPFILE_NOCWD: Avoid redundant CWDs Add libtest 661 Closes #4417 - [Zenju brought this change] FTP: url-decode path before evaluation Closes #4428 Marcel Raad (27 Sep 2019) - tests: fix narrowing conversion warnings `timediff_t` is 64 bits wide also on 32-bit systems since commit b1616dad8f0. Closes https://github.com/curl/curl/pull/4415 Jay Satiro (27 Sep 2019) - [julian brought this change] vtls: Fix comment typo about macosx-version-min compiler flag Closes https://github.com/curl/curl/pull/4425 Daniel Stenberg (26 Sep 2019) - [Yechiel Kalmenson brought this change] README: minor grammar fix Closes #4431 - [Spezifant brought this change] HTTP3: fix prefix parameter for ngtcp2 build Closes #4430 - quiche: don't close connection at end of stream! - quiche: set 'drain' when returning without having drained the queues - Revert "FTP: url-decode path before evaluation" This reverts commit 2f036a72d543e96128bd75cb0fedd88815fd42e2. - HTTP3: merged and simplified the two 'running' sections - HTTP3: show an --alt-svc using example too - [Zenju brought this change] FTP: url-decode path before evaluation Closes #4423 - openssl: use strerror on SSL_ERROR_SYSCALL Instead of showing the somewhat nonsensical errno number, use strerror() to provide a more relatable error message. Closes #4411 - HTTP3: update quic.aiortc.org + add link to server list Reported-by: Jeremy Lainé Jay Satiro (26 Sep 2019) - url: don't set appconnect time for non-ssl/non-ssh connections Prior to this change non-ssl/non-ssh connections that were reused set TIMER_APPCONNECT [1]. Arguably that was incorrect since no SSL/SSH handshake took place. [1]: TIMER_APPCONNECT is publicly known as CURLINFO_APPCONNECT_TIME in libcurl and %{time_appconnect} in the curl tool. It is documented as "the time until the SSL/SSH handshake is completed". Reported-by: Marcel Hernandez Ref: https://github.com/curl/curl/issues/3760 Closes https://github.com/curl/curl/pull/3773 Daniel Stenberg (25 Sep 2019) - ngtcp2: remove fprintf() calls - convert some of them to H3BUF() calls to infof() - remove some of them completely - made DEBUG_HTTP3 defined only if CURLDEBUG is set for now Closes #4421 - [Jay Satiro brought this change] url: fix the NULL hostname compiler warning case Closes #4403 - [Jay Satiro brought this change] travis: move the go install to linux-only ... to repair the build again Closes #4403 - altsvc: correct the #ifdef for the ngtcp2 backend - altsvc: save h3 as h3-23 Follow-up to d176a2c7e5 - urlapi: question mark within fragment is still fragment The parser would check for a query part before fragment, which caused it to do wrong when the fragment contains a question mark. Extended test 1560 to verify. Reported-by: Alex Konev Fixes #4412 Closes #4413 - [Alex Samorukov brought this change] HTTP3.md: move -p for mkdir, remove -j for make - mkdir on OSX/Darwin requires `-p` argument before dir - portabbly figuring out number of cores is an exercise for somewhere else Closes #4407 Patrick Monnerat (24 Sep 2019) - os400: getpeername() and getsockname() return ebcdic AF_UNIX sockaddr, As libcurl now uses these 2 system functions, wrappers are needed on os400 to convert returned AF_UNIX sockaddrs to ascii. This is a follow-up to commit 7fb54ef. See also #4037. Closes #4214 Jay Satiro (24 Sep 2019) - [Lucas Pardue brought this change] strcase: fix raw lowercasing the letter X Casing mistake in Curl_raw_tolower 'X' wasn't lowercased as 'x' prior to this change. Follow-up to 0023fce which added the function several days ago. Ref: https://github.com/curl/curl/pull/4401#discussion_r327396546 Closes https://github.com/curl/curl/pull/4408 Daniel Stenberg (23 Sep 2019) - http2: Expression 'stream->stream_id != - 1' is always true PVS-Studio warning Fixes #4402 - http2: A value is being subtracted from the unsigned variable PVS-Studio warning Fixes #4402 - libssh: part of conditional expression is always true: !result PVS-Studio warning Fixed #4402 - libssh: part of conditional expression is always true PVS-Studio warning Fixes #4402 - libssh: The expression is excessive or contains a misprint PVS-Studio warning Fixes #4402 - quiche: The expression must be surrounded by parentheses PVS-Studio warning Fixes #4402 - vauth: The parameter 'status' must be surrounded by parentheses PVS-Studio warning Fixes #4402 - [Paul Dreik brought this change] doh: allow only http and https in debug mode Otherwise curl may be told to use for instance pop3 to communicate with the doh server, which most likely is not what you want. Found through fuzzing. Closes #4406 - [Paul Dreik brought this change] doh: return early if there is no time left Closes #4406 - [Barry Pollard brought this change] http: lowercase headernames for HTTP/2 and HTTP/3 Closes #4401 Fixes #4400 Marcel Raad (23 Sep 2019) - vtls: fix narrowing conversion warnings Curl_timeleft returns `timediff_t`, which is 64 bits wide also on 32-bit systems since commit b1616dad8f0. Closes https://github.com/curl/curl/pull/4398 Daniel Stenberg (23 Sep 2019) - [Joel Depooter brought this change] winbuild: Add manifest to curl.exe for proper OS version detection This is a small fix to commit ebd213270a017a6830928ee2e1f4a9cabc799898 in pull request #1221. That commit added the CURL_EMBED_MANIFEST flag to CURL_RC_FLAGS. However, later in the file CURL_RC_FLAGS is overwritten. The fix is to append values to CURL_RC_FLAGS instead of overwriting Closes #4399 - RELEASE-NOTES: synced Marcel Raad (22 Sep 2019) - openssl: fix compiler warning with LibreSSL It was already fixed for BoringSSL in commit a0f8fccb1e0. LibreSSL has had the second argument to SSL_CTX_set_min_proto_version as uint16_t ever since the function was added in [0]. [0] https://github.com/libressl-portable/openbsd/commit/56f107201baefb5533486d665a58d8f57fd3aeda Closes https://github.com/curl/curl/pull/4397 Daniel Stenberg (22 Sep 2019) - curl: exit the create_transfers loop on errors When looping around the ranges and given URLs to create transfers, all errors should exit the loop and return. Previously it would keep looping. Reported-by: SumatraPeter on github Bug: #4393 Closes #4396 Jay Satiro (21 Sep 2019) - socks: Fix destination host shown on SOCKS5 error Prior to this change when a server returned a socks5 connect error then curl would parse the destination address:port from that data and show it to the user as the destination: curld -v --socks5 10.0.3.1:1080 http://google.com:99 * SOCKS5 communication to google.com:99 * SOCKS5 connect to IPv4 172.217.12.206 (locally resolved) * Can't complete SOCKS5 connection to 253.127.0.0:26673. (1) curl: (7) Can't complete SOCKS5 connection to 253.127.0.0:26673. (1) That's incorrect because the address:port included in the connect error is actually a bind address:port (typically unused) and not the destination address:port. This fix changes curl to show the destination information that curl sent to the server instead: curld -v --socks5 10.0.3.1:1080 http://google.com:99 * SOCKS5 communication to google.com:99 * SOCKS5 connect to IPv4 172.217.7.14:99 (locally resolved) * Can't complete SOCKS5 connection to 172.217.7.14:99. (1) curl: (7) Can't complete SOCKS5 connection to 172.217.7.14:99. (1) curld -v --socks5-hostname 10.0.3.1:1080 http://google.com:99 * SOCKS5 communication to google.com:99 * SOCKS5 connect to google.com:99 (remotely resolved) * Can't complete SOCKS5 connection to google.com:99. (1) curl: (7) Can't complete SOCKS5 connection to google.com:99. (1) Ref: https://tools.ietf.org/html/rfc1928#section-6 Closes https://github.com/curl/curl/pull/4394 Daniel Stenberg (21 Sep 2019) - travis: enable ngtcp2 h3-23 builds - altsvc: both backends run h3-23 now Closes #4395 - http: fix warning on conversion from int to bit Follow-up from 03ebe66d70 - urldata: use 'bool' for the bit type on MSVC compilers Closes #4387 Fixes #4379 - appveyor: upgrade VS2017 to VS2019 Closes #4383 - [Zenju brought this change] FTP: FTPFILE_NOCWD: avoid redundant CWDs Closes #4382 - cookie: pass in the correct cookie amount to qsort() As the loop discards cookies without domain set. This bug would lead to qsort() trying to sort uninitialized pointers. We have however not found it a security problem. Reported-by: Paul Dreik Closes #4386 - [Paul Dreik brought this change] urlapi: avoid index underflow for short ipv6 hostnames If the input hostname is "[", hlen will underflow to max of size_t when it is subtracted with 2. hostname[hlen] will then cause a warning by ubsanitizer: runtime error: addition of unsigned offset to 0x<snip> overflowed to 0x<snip> I think that in practice, the generated code will work, and the output of hostname[hlen] will be the first character "[". This can be demonstrated by the following program (tested in both clang and gcc, with -O3) int main() { char* hostname=strdup("["); size_t hlen = strlen(hostname); hlen-=2; hostname++; printf("character is %d\n",+hostname[hlen]); free(hostname-1); } I found this through fuzzing, and even if it seems harmless, the proper thing is to return early with an error. Closes #4389 - [Tatsuhiro Tsujikawa brought this change] ngtcp2: compile with latest ngtcp2 + nghttp3 draft-23 Closes #4392 - THANKS-filter: deal with my typos 'Jat' => 'Jay' - travis: use go master ... as the boringssl builds needs a very recent version Co-authored-by: Jat Satiro Closes #4361 - tool_operate: removed unused variable 'done' Fixes warning detected by PVS-Studio Fixes #4374 - tool_operate: Expression 'config->resume_from' is always true Fixes warning detected by PVS-Studio Fixes #4374 - tool_getparam: remove duplicate switch case Fixes warning detected by PVS-Studio Fixes #4374 - libssh2: part of conditional expression is always true: !result Fixes warning detected by PVS-Studio Fixes #4374 - urlapi: Expression 'storep' is always true Fixes warning detected by PVS-Studio Fixes #4374 - urlapi: 'scheme' is always true Fixes warning detected by PVS-Studio Fixes #4374 - urlapi: part of conditional expression is always true: (relurl[0] == '/') Fixes warning detected by PVS-Studio Fixes #4374 - setopt: store CURLOPT_RTSP_SERVER_CSEQ correctly Fixes bug detected by PVS-Studio Fixes #4374 - mime: make Curl_mime_duppart() assert if called without valid dst Fixes warning detected by PVS-Studio Fixes #4374 - http_proxy: part of conditional expression is always true: !error Fixes warning detected by PVS-Studio Fixes #4374 - imap: merged two case-branches performing the same action Fixes warning detected by PVS-Studio Fixes #4374 - multi: value '2L' is assigned to a boolean Fixes warning detected by PVS-Studio Fixes #4374 - easy: part of conditional expression is always true: !result Fixes warning detected by PVS-Studio Fixes #4374 - netrc: part of conditional expression is always true: !done Fixes warning detected by PVS-Studio Fixes #4374 - version: Expression 'left > 1' is always true Fixes warning detected by PVS-Studio Fixes #4374 - url: remove dead code Fixes warning detected by PVS-Studio Fixes #4374 - url: part of expression is always true: (bundle->multiuse == 0) Fixes warning detected by PVS-Studio Fixes #4374 - ftp: the conditional expression is always true ... both !result and (ftp->transfer != FTPTRANSFER_BODY)! Fixes warning detected by PVS-Studio Fixes #4374 - ftp: Expression 'ftpc->wait_data_conn' is always false Fixes warning detected by PVS-Studio Fixes #4374 - ftp: Expression 'ftpc->wait_data_conn' is always true Fixes warning detected by PVS-Studio Fixes #4374 - ftp: part of conditional expression is always true: !result Fixes warning detected by PVS-Studio Fixes #4374 - http: fix Expression 'http->postdata' is always false Fixes warning detected by PVS-Studio Fixes #4374 Reported-by: Valerii Zapodovnikov - [Niall O'Reilly brought this change] doh: avoid truncating DNS QTYPE to lower octet Closes #4381 - [Jens Finkhaeuser brought this change] urlapi: CURLU_NO_AUTHORITY allows empty authority/host part CURLU_NO_AUTHORITY is intended for use with unknown schemes (i.e. not "file:///") to override cURL's default demand that an authority exists. Closes #4349 - version: next release will be 7.67.0 - RELEASE-NOTES: synced - url: only reuse TLS connections with matching pinning If the requests have different CURLOPT_PINNEDPUBLICKEY strings set, the connection should not be reused. Bug: https://curl.haxx.se/mail/lib-2019-09/0061.html Reported-by: Sebastian Haglund Closes #4347 - README: add OSS-Fuzz badge [skip ci] Closes #4380 Michael Kaufmann (18 Sep 2019) - http: merge two "case" statements Daniel Stenberg (18 Sep 2019) - [Zenju brought this change] FTP: remove trailing slash from path for LIST/MLSD Closes #4348 - mime: when disabled, avoid C99 macro Closes #4368 - url: cleanup dangling DOH request headers too Follow-up to 9bc44ff64d9081 Credit to OSS-Fuzz Bug: https://crbug.com/oss-fuzz/17269 Closes #4372 - [Christoph M. Becker brought this change] http2: relax verification of :authority in push promise requests If the :authority pseudo header field doesn't contain an explicit port, we assume it is valid for the default port, instead of rejecting the request for all ports. Ref: https://curl.haxx.se/mail/lib-2019-09/0041.html Closes #4365 - doh: clean up dangling DOH handles and memory on easy close If you set the same URL for target as for DoH (and it isn't a DoH server), like "https://example.com" in both, the easy handles used for the DoH requests could be left "dangling" and end up not getting freed. Reported-by: Paul Dreik Closes #4366 - unit1655: make it C90 compliant Unclear why this was not detected in the CI. Follow-up to b7666027296a - smb: check for full size message before reading message details To avoid reading of uninitialized data. Assisted-by: Max Dymond Bug: https://crbug.com/oss-fuzz/16907 Closes #4363 - quiche: persist connection details ... like we do for other protocols at connect time. This makes "curl -I" and other things work. Reported-by: George Liu Fixes #4358 Closes #4360 - openssl: fix warning with boringssl and SSL_CTX_set_min_proto_version Follow-up to ffe34b7b59 Closes #4359 - [Paul Dreik brought this change] doh: fix undefined behaviour and open up for gcc and clang optimization The undefined behaviour is annoying when running fuzzing with sanitizers. The codegen is the same, but the meaning is now not up for dispute. See https://cppinsights.io/s/516a2ff4 By incrementing the pointer first, both gcc and clang recognize this as a bswap and optimizes it to a single instruction. See https://godbolt.org/z/994Zpx Closes #4350 - [Paul Dreik brought this change] doh: fix (harmless) buffer overrun Added unit test case 1655 to verify. Close #4352 the code correctly finds the flaws in the old code, if one temporarily restores doh.c to the old version. Alessandro Ghedini (15 Sep 2019) - docs: remove trailing ':' from section names in CURLOPT_TRAILER* man - docs: fix typo in CURLOPT_HTTP_VERSION man GitHub (14 Sep 2019) - [Daniel Stenberg brought this change] CI: inintial github action job First shot at a CI build on github actions Daniel Stenberg (13 Sep 2019) - appveyor: add a winbuild Assisted-by: Marcel Raad Assisted-by: Jay Satiro Closes #4324 - FTP: allow "rubbish" prepended to the SIZE response This is a protocol violation but apparently there are legacy proprietary servers doing this. Added test 336 and 337 to verify. Reported-by: Philippe Marguinaud Closes #4339 - [Zenju brought this change] FTP: skip CWD to entry dir when target is absolute Closes #4332 Kamil Dudka (13 Sep 2019) - curl: fix memory leaked by parse_metalink() This commit fixes a regression introduced by curl-7_65_3-5-gb88940850. Detected by tests 2005, 2008, 2009, 2010, 2011, and 2012 with valgrind and libmetalink enabled. Closes #4326 Daniel Stenberg (13 Sep 2019) - parsedate: still provide the name arrays when disabled If FILE or FTP are enabled, since they also use them! Reported-by: Roland Hieber Fixes #4325 Closes #4343 - [Gilles Vollant brought this change] curl:file2string: load large files much faster ... by using a more efficient realloc scheme. Bug: https://curl.haxx.se/mail/lib-2019-09/0045.html Closes #4336 - openssl: close_notify on the FTP data connection doesn't mean closure For FTPS transfers, curl gets close_notify on the data connection without that being a signal to close the control connection! Regression since 3f5da4e59a556fc (7.65.0) Reported-by: Zenju on github Reviewed-by: Jay Satiro Fixes #4329 Closes #4340 - [Jimmy Gaussen brought this change] docs/HTTP3: fix `--with-ssl` ngtcp2 configure flag Closes #4338 - RELEASE-NOTES: synced - curlver: bump to 7.66.1 - [Zenju brought this change] setopt: make it easier to add new enum values ... by using the *_LAST define names better. Closes #4321 - asyn-thread: s/AF_LOCAL/AF_UNIX for Solaris Reported-by: Dagobert Michelsen Fixes #4328 Closes #4333 - [Bernhard Walle brought this change] winbuild/MakefileBuild.vc: Add vssh Without that modification, the Windows build using the makefiles doesn't work. Signed-off-by: Bernhard Walle <bernhard.walle@posteo.eu> Fixes #4322 Closes #4323 Bernhard Walle (11 Sep 2019) - winbuild/MakefileBuild.vc: Fix line endings The file had mixed line endings. Signed-off-by: Bernhard Walle <bernhard.walle@posteo.eu> Jay Satiro (11 Sep 2019) - ldap: Stop using wide char version of ldapp_err2string Despite ldapp_err2string being documented by MS as returning a PCHAR (char *), when UNICODE it is mapped to ldap_err2stringW and returns PWCHAR (wchar_t *). We have lots of code that expects ldap_err2string to return char *, most of it failf used like this: failf(data, "LDAP local: Some error: %s", ldap_err2string(rc)); Closes https://github.com/curl/curl/pull/4272 Version 7.66.0 (10 Sep 2019) Daniel Stenberg (10 Sep 2019) - RELEASE-NOTES: curl 7.66.0 - THANKS: from the 7.66.0 release |
︙ | ︙ | |||
5594 5595 5596 5597 5598 5599 5600 | The problem can be reproduced as follows: % curl --reso<TAB> % curl -E <TAB> Bug: https://bugs.debian.org/921452 | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 7093 7094 7095 7096 7097 7098 7099 | The problem can be reproduced as follows: % curl --reso<TAB> % curl -E <TAB> Bug: https://bugs.debian.org/921452 |
Changes to jni/curl/CMake/CurlTests.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/CMake/Platforms/WindowsCache.cmake.
1 2 3 4 5 6 7 8 9 | if(NOT UNIX) if(WIN32) set(HAVE_LIBDL 0) set(HAVE_LIBUCB 0) set(HAVE_LIBSOCKET 0) set(NOT_NEED_LIBNSL 0) set(HAVE_LIBNSL 0) set(HAVE_GETHOSTNAME 1) set(HAVE_LIBZ 0) | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | if(NOT UNIX) if(WIN32) set(HAVE_LIBDL 0) set(HAVE_LIBUCB 0) set(HAVE_LIBSOCKET 0) set(NOT_NEED_LIBNSL 0) set(HAVE_LIBNSL 0) set(HAVE_GETHOSTNAME 1) set(HAVE_LIBZ 0) set(HAVE_DLOPEN 0) set(HAVE_ALLOCA_H 0) set(HAVE_ARPA_INET_H 0) set(HAVE_DLFCN_H 0) set(HAVE_FCNTL_H 1) |
︙ | ︙ |
Changes to jni/curl/CMakeLists.txt.
︙ | ︙ | |||
343 344 345 346 347 348 349 | list(APPEND CURL_LIBS "${COREFOUNDATION_FRAMEWORK}" "${SECURITY_FRAMEWORK}") endif() if(CMAKE_USE_OPENSSL) find_package(OpenSSL REQUIRED) set(SSL_ENABLED ON) set(USE_OPENSSL ON) | < < | 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | list(APPEND CURL_LIBS "${COREFOUNDATION_FRAMEWORK}" "${SECURITY_FRAMEWORK}") endif() if(CMAKE_USE_OPENSSL) find_package(OpenSSL REQUIRED) set(SSL_ENABLED ON) set(USE_OPENSSL ON) # Depend on OpenSSL via imported targets if supported by the running # version of CMake. This allows our dependents to get our dependencies # transitively. if(NOT CMAKE_VERSION VERSION_LESS 3.4) list(APPEND CURL_LIBS OpenSSL::SSL OpenSSL::Crypto) else() |
︙ | ︙ |
Changes to jni/curl/Makefile.in.
︙ | ︙ | |||
688 689 690 691 692 693 694 | pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c \ openldap.c curl_gethostname.c gopher.c idn_win32.c \ http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c \ http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c \ curl_multibyte.c hostcheck.c conncache.c dotdot.c \ x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \ mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c \ | | | | 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 | pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c \ openldap.c curl_gethostname.c gopher.c idn_win32.c \ http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c \ http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c \ curl_multibyte.c hostcheck.c conncache.c dotdot.c \ x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \ mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c \ doh.c urlapi.c curl_get_line.c altsvc.c socketpair.c LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \ formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h \ speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ socks.h ssh.h curl_base64.h curl_addrinfo.h curl_sspi.h \ slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h \ rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h \ curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h \ http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h \ curl_sasl.h curl_multibyte.h hostcheck.h conncache.h \ curl_setup_once.h multihandle.h setup-vms.h dotdot.h \ x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \ curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \ curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h \ curl_get_line.h altsvc.h quic.h socketpair.h LIB_RCFILES = libcurl.rc CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) \ $(LIB_VQUIC_CFILES) $(LIB_VSSH_CFILES) HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) \ $(LIB_VQUIC_HFILES) |
︙ | ︙ |
Changes to jni/curl/RELEASE-NOTES.
|
| | | | | < < < | < < > > | | | | | | < | > | | | | | | | | | | | | | > > > | > > > > > | > > > > | > | > | > > > | < > | > > | | < | | | > | > > > > > | < < < > | < < < | < < | | < > | | > | | > > > > | | | | > | > > > > > > > > > > | | | | | | | | | | | < < | > | > | < | > > > | > > > | > | > > > > > | | > | | < > > | | | | > | < > > > | > | | | | | | | | | | | | | | | | | > > > > > > > > > > > > > > > > > > > > | | | | | | | | | | | | | | | | | > > > > > > > > > > | | | | | | | | | | | | | | | | | | > > > > > > > > > > | | | | | | | | | | | > | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | curl and libcurl 7.67.0 Public curl releases: 186 Command line options: 226 curl_easy_setopt() options: 269 Public functions in libcurl: 81 Contributors: 2056 This release includes the following changes: o curl: added --no-progress-meter [73] o setopt: CURLMOPT_MAX_CONCURRENT_STREAMS is new [55] o urlapi: CURLU_NO_AUTHORITY allows empty authority/host part [22] This release includes the following bugfixes: o BINDINGS: five new bindings addded o CURLOPT_TIMEOUT.3: Clarify transfer timeout time includes queue time [78] o CURLOPT_TIMEOUT.3: remove the mention of "minutes" [74] o ESNI: initial build/setup support [71] o FTP: FTPFILE_NOCWD: avoid redundant CWDs [28] o FTP: allow "rubbish" prepended to the SIZE response [15] o FTP: remove trailing slash from path for LIST/MLSD [6] o FTP: skip CWD to entry dir when target is absolute [16] o FTP: url-decode path before evaluation [36] o HTTP3.md: move -p for mkdir, remove -j for make [46] o HTTP3: fix invalid use of sendto for connected UDP socket [109] o HTTP3: fix ngtcp2 Windows build [93] o HTTP3: fix prefix parameter for ngtcp2 build [40] o HTTP3: fix typo somehere1 > somewhere1 [108] o HTTP3: show an --alt-svc using example too o INSTALL: add missing space for configure commands [106] o INSTALL: add vcpkg installation instructions [35] o README: minor grammar fix [39] o altsvc: accept quoted ma and persist values [60] o altsvc: both backends run h3-23 now [31] o appveyor: Add MSVC ARM64 build [87] o appveyor: Use two parallel compilation on appveyor with CMake [98] o appveyor: add --disable-proxy autotools build [94] o appveyor: add 32-bit MinGW-w64 build [58] o appveyor: add a winbuild [14] o appveyor: add a winbuild that uses VS2017 [84] o appveyor: make winbuilds with DEBUG=no/yes and VS 2015/2017 [95] o appveyor: publish artifacts on appveyor [105] o appveyor: upgrade VS2017 to VS2019 [29] o asyn-thread: make use of Curl_socketpair() where available [85] o asyn-thread: s/AF_LOCAL/AF_UNIX for Solaris [3] o build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines [77] o checksrc: fix uninitialized variable warning [57] o chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error [56] o cirrus: Increase the git clone depth o cirrus: Switch the FreeBSD 11.x build to 11.3 and add a 13.0 build o cirrus: switch off blackhole status on the freebsd CI machines [72] o cleanups: 21 various PVS-Studio warnings [24] o configure: only say ipv6 enabled when the variable is set [110] o configure: remove all cyassl references [90] o conn-reuse: requests wanting NTLM can reuse non-NTLM connections [99] o connect: return CURLE_OPERATION_TIMEDOUT for errno == ETIMEDOUT [72] o connect: silence sign-compare warning [83] o cookie: avoid harmless use after free [69] o cookie: pass in the correct cookie amount to qsort() [27] o cookies: change argument type for Curl_flush_cookies [67] o cookies: using a share with cookies shouldn't enable the cookie engine [63] o copyrights: update copyright notices to 2019 [101] o curl: create easy handles on-demand and not ahead of time [54] o curl: ensure HTTP 429 triggers --retry [64] o curl: exit the create_transfers loop on errors [33] o curl: fix memory leaked by parse_metalink() [17] o curl: load large files with -d @ much faster [19] o docs/HTTP3: fix `--with-ssl` ngtcp2 configure flag [21] o docs: added multi-event.c example [75] o docs: disambiguate CURLUPART_HOST is for host name (ie no port) [62] o docs: note on failed handles not being counted by curl_multi_perform [70] o doh: allow only http and https in debug mode [48] o doh: avoid truncating DNS QTYPE to lower octet [23] o doh: clean up dangling DOH memory on easy close [9] o doh: fix (harmless) buffer overrun [13] o doh: fix undefined behaviour and open up for gcc and clang optimization [12] o doh: return early if there is no time left [48] o examples/sslbackend: fix -Wchar-subscripts warning [89] o examples: remove the "this exact code has not been verified" o git: add tests/server/disabled to .gitignore [59] o gnutls: make gnutls_bye() not wait for response on shutdown [104] o http2: expire a timeout at end of stream [88] o http2: prevent dup'ed handles to send dummy PRIORITY frames [68] o http2: relax verification of :authority in push promise requests [8] o http2_recv: a closed stream trumps pause state [88] o http: lowercase headernames for HTTP/2 and HTTP/3 [49] o ldap: Stop using wide char version of ldapp_err2string [1] o ldap: fix OOM error on missing query string [76] o mbedtls: add error message for cert validity starting in the future [102] o mime: when disabled, avoid C99 macro [7] o ngtcp2: adapt to API change [66] o ngtcp2: compile with latest ngtcp2 + nghttp3 draft-23 [25] o ngtcp2: remove fprintf() calls [43] o openssl: close_notify on the FTP data connection doesn't mean closure [20] o openssl: fix compiler warning with LibreSSL [34] o openssl: use strerror on SSL_ERROR_SYSCALL [41] o os400: getpeername() and getsockname() return ebcdic AF_UNIX sockaddr [47] o parsedate: fix date parsing disabled builds [18] o quiche: don't close connection at end of stream o quiche: persist connection details (fixes -I with --http3) [11] o quiche: set 'drain' when returning without having drained the queues o quiche: update HTTP/3 config creation to new API [61] o redirect: handle redirects to absolute URLs containing spaces [52] o runtests: get textaware info from curl instead of perl [86] o schannel: reverse the order of certinfo insertions [96] o schannel_verify: Fix concurrent openings of CA file [103] o security: silence conversion warning [83] o setopt: handle ALTSVC set to NULL o setopt: make it easier to add new enum values [4] o setopt: store CURLOPT_RTSP_SERVER_CSEQ correctly [24] o smb: check for full size message before reading message details [10] o smbserver: fix Python 3 compatibility [82] o socks: Fix destination host shown on SOCKS5 error [32] o test1162: disable MSYS2's POSIX path conversion o test1591: fix spelling of http feature [97] o tests: add `connect to non-listen` keywords [91] o tests: fix narrowing conversion warnings [37] o tests: fix the test 3001 cert failures [100] o tests: makes tests succeed when using --disable-proxy [81] o tests: use %FILE_PWD for file:// URLs [92] o tests: use port 2 instead of 60000 for a safer non-listening port [72] o tool_operate: Fix retry sleep time shown to user when Retry-After [79] o travis: Add an ARM64 build o url: Curl_free_request_state() should also free doh handles [107] o url: don't set appconnect time for non-ssl/non-ssh connections [42] o url: fix the NULL hostname compiler warning [44] o url: normalize CURLINFO_EFFECTIVE_URL [80] o url: only reuse TLS connections with matching pinning [5] o urlapi: avoid index underflow for short ipv6 hostnames [26] o urlapi: fix URL encoding when setting a full URL [53] o urlapi: fix unused variable warning [57] o urlapi: question mark within fragment is still fragment [45] o urldata: use 'bool' for the bit type on MSVC compilers [30] o vtls: Fix comment typo about macosx-version-min compiler flag [38] o vtls: fix narrowing conversion warnings [50] o winbuild/MakefileBuild.vc: Add vssh [2] o winbuild/MakefileBuild.vc: Fix line endings o winbuild: Add manifest to curl.exe for proper OS version detection [51] o winbuild: add ENABLE_UNICODE option [65] This release includes the following known bugs: o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html) This release would not have looked like this without help, code, reports and advice from friends like these: Alessandro Ghedini, Alex Konev, Alex Samorukov, Andrei Valeriu BICA, Barry Pollard, Bastien Bouclet, Bernhard Walle, Bylon2 on github, Christophe Dervieux, Christoph M. Becker, Dagobert Michelsen, Dan Fandrich, Daniel Silverstone, Daniel Stenberg, Denis Chaplygin, Emil Engler, Francois Rivard, George Liu, Gilles Vollant, Griffin Downs, Harry Sintonen, Ilya Kosarev, infinnovation-dev on github, Jacob Barthelmeh, Javier Blazquez, Jens Finkhaeuser, Jeremy Lainé, Jeroen Ooms, Jimmy Gaussen, Joel Depooter, Jojojov on github, jzinn on github, Kamil Dudka, Kunal Ekawde, Lucas Pardue, Lucas Severo, Marcel Hernandez, Marcel Raad, Martin Gartner, Max Dymond, Michael Kaufmann, Michał Janiszewski, momala454 on github, Nathaniel J. Smith, Niall O'Reilly, nico-abram on github, Nikos Mavrogiannopoulos, Patrick Monnerat, Paul B. Omta, Paul Dreik, Peter Sumatra, Philippe Marguinaud, Piotr Komborski, Ray Satiro, Richard Alcock, Roland Hieber, Samuel Surtees, Sebastian Haglund, Spezifant on github, Stian Soiland-Reyes, SumatraPeter on github, Tatsuhiro Tsujikawa, Tom van der Woerdt, Trivikram Kamat, Valerii Zapodovnikov, Vilhelm Prytz, Yechiel Kalmenson, Zenju on github, (68 contributors) Thanks! (and sorry if I forgot to mention someone) References to bug reports and discussions on issues: [1] = https://curl.haxx.se/bug/?i=4272 [2] = https://curl.haxx.se/bug/?i=4322 [3] = https://curl.haxx.se/bug/?i=4328 [4] = https://curl.haxx.se/bug/?i=4321 [5] = https://curl.haxx.se/mail/lib-2019-09/0061.html [6] = https://curl.haxx.se/bug/?i=4348 [7] = https://curl.haxx.se/bug/?i=4368 [8] = https://curl.haxx.se/bug/?i=4365 [9] = https://curl.haxx.se/bug/?i=4366 [10] = https://curl.haxx.se/bug/?i=4363 [11] = https://curl.haxx.se/bug/?i=4358 [12] = https://curl.haxx.se/bug/?i=4350 [13] = https://curl.haxx.se/bug/?i=4352 [14] = https://curl.haxx.se/bug/?i=4324 [15] = https://curl.haxx.se/bug/?i=4339 [16] = https://curl.haxx.se/bug/?i=4332 [17] = https://curl.haxx.se/bug/?i=4326 [18] = https://curl.haxx.se/bug/?i=4325 [19] = https://curl.haxx.se/bug/?i=4336 [20] = https://curl.haxx.se/bug/?i=4329 [21] = https://curl.haxx.se/bug/?i=4338 [22] = https://curl.haxx.se/bug/?i=4349 [23] = https://curl.haxx.se/bug/?i=4381 [24] = https://curl.haxx.se/bug/?i=4374 [25] = https://curl.haxx.se/bug/?i=4392 [26] = https://curl.haxx.se/bug/?i=4389 [27] = https://curl.haxx.se/bug/?i=4386 [28] = https://curl.haxx.se/bug/?i=4382 [29] = https://curl.haxx.se/bug/?i=4383 [30] = https://curl.haxx.se/bug/?i=4387 [31] = https://curl.haxx.se/bug/?i=4395 [32] = https://curl.haxx.se/bug/?i=4394 [33] = https://curl.haxx.se/bug/?i=4393 [34] = https://curl.haxx.se/bug/?i=4397 [35] = https://curl.haxx.se/bug/?i=4435 [36] = https://curl.haxx.se/bug/?i=4428 [37] = https://curl.haxx.se/bug/?i=4415 [38] = https://curl.haxx.se/bug/?i=4425 [39] = https://curl.haxx.se/bug/?i=4431 [40] = https://curl.haxx.se/bug/?i=4430 [41] = https://curl.haxx.se/bug/?i=4411 [42] = https://curl.haxx.se/bug/?i=3760 [43] = https://curl.haxx.se/bug/?i=4421 [44] = https://curl.haxx.se/bug/?i=4403 [45] = https://curl.haxx.se/bug/?i=4412 [46] = https://curl.haxx.se/bug/?i=4407 [47] = https://curl.haxx.se/bug/?i=4214 [48] = https://curl.haxx.se/bug/?i=4406 [49] = https://curl.haxx.se/bug/?i=4400 [50] = https://curl.haxx.se/bug/?i=4398 [51] = https://curl.haxx.se/bug/?i=4399 [52] = https://curl.haxx.se/bug/?i=4445 [53] = https://curl.haxx.se/bug/?i=4447 [54] = https://curl.haxx.se/bug/?i=4393 [55] = https://curl.haxx.se/bug/?i=4410 [56] = https://curl.haxx.se/bug/?i=4310 [57] = https://curl.haxx.se/bug/?i=4444 [58] = https://curl.haxx.se/bug/?i=4433 [59] = https://curl.haxx.se/bug/?i=4441 [60] = https://curl.haxx.se/bug/?i=4443 [61] = https://curl.haxx.se/bug/?i=4437 [62] = https://curl.haxx.se/bug/?i=4424 [63] = https://curl.haxx.se/bug/?i=4429 [64] = https://curl.haxx.se/bug/?i=4465 [65] = https://curl.haxx.se/bug/?i=4308 [66] = https://curl.haxx.se/bug/?i=4457 [67] = https://curl.haxx.se/bug/?i=4455 [68] = https://curl.haxx.se/bug/?i=4303 [69] = https://curl.haxx.se/bug/?i=4454 [70] = https://curl.haxx.se/bug/?i=4446 [71] = https://curl.haxx.se/bug/?i=4011 [72] = https://curl.haxx.se/bug/?i=4461 [73] = https://curl.haxx.se/bug/?i=4422 [74] = https://curl.haxx.se/bug/?i=4469 [75] = https://curl.haxx.se/bug/?i=4471 [76] = https://curl.haxx.se/bug/?i=4467 [77] = https://curl.haxx.se/bug/?i=4460 [78] = https://curl.haxx.se/bug/?i=4486 [79] = https://curl.haxx.se/bug/?i=4498 [80] = https://curl.haxx.se/bug/?i=4491 [81] = https://curl.haxx.se/bug/?i=4488 [82] = https://curl.haxx.se/bug/?i=4484 [83] = https://curl.haxx.se/bug/?i=4483 [84] = https://curl.haxx.se/bug/?i=4482 [85] = https://curl.haxx.se/bug/?i=4466 [86] = https://curl.haxx.se/bug/?i=4506 [87] = https://curl.haxx.se/bug/?i=4507 [88] = https://curl.haxx.se/bug/?i=4496 [89] = https://curl.haxx.se/bug/?i=4503 [90] = https://curl.haxx.se/bug/?i=4502 [91] = https://curl.haxx.se/bug/?i=4511 [92] = https://curl.haxx.se/bug/?i=4512 [93] = https://curl.haxx.se/bug/?i=4531 [94] = https://curl.haxx.se/bug/?i=4526 [95] = https://curl.haxx.se/bug/?i=4523 [96] = https://curl.haxx.se/bug/?i=4518 [97] = https://curl.haxx.se/bug/?i=4520 [98] = https://curl.haxx.se/bug/?i=4508 [99] = https://curl.haxx.se/bug/?i=4499 [100] = https://curl.haxx.se/bug/?i=4551 [101] = https://curl.haxx.se/bug/?i=4547 [102] = https://curl.haxx.se/bug/?i=4552 [103] = https://curl.haxx.se/mail/lib-2019-10/0104.html [104] = https://curl.haxx.se/bug/?i=4487 [105] = https://curl.haxx.se/bug/?i=4509 [106] = https://curl.haxx.se/bug/?i=4539 [107] = https://curl.haxx.se/bug/?i=4463 [108] = https://curl.haxx.se/bug/?i=4535 [109] = https://curl.haxx.se/bug/?i=4529 [110] = https://curl.haxx.se/bug/?i=4555 |
Changes to jni/curl/buildconf.bat.
1 2 3 4 5 6 7 8 | @echo off rem *************************************************************************** rem * _ _ ____ _ rem * Project ___| | | | _ \| | rem * / __| | | | |_) | | rem * | (__| |_| | _ <| |___ rem * \___|\___/|_| \_\_____| rem * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | @echo off rem *************************************************************************** rem * _ _ ____ _ rem * Project ___| | | | _ \| | rem * / __| | | | |_) | | rem * | (__| |_| | _ <| |___ rem * \___|\___/|_| \_\_____| rem * rem * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. rem * rem * This software is licensed as described in the file COPYING, which rem * you should have received as part of this distribution. The terms rem * are also available at https://curl.haxx.se/docs/copyright.html. rem * rem * You may opt to use, copy, modify, merge, publish, distribute and/or sell rem * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/configure.
︙ | ︙ | |||
1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 | enable_warnings enable_werror enable_curldebug enable_symbol_hiding enable_hidden_symbols enable_ares enable_rt enable_code_coverage enable_dependency_tracking enable_largefile enable_shared enable_static with_pic enable_fast_install | > | 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 | enable_warnings enable_werror enable_curldebug enable_symbol_hiding enable_hidden_symbols enable_ares enable_rt enable_esni enable_code_coverage enable_dependency_tracking enable_largefile enable_shared enable_static with_pic enable_fast_install |
︙ | ︙ | |||
1172 1173 1174 1175 1176 1177 1178 | with_amissl with_ssl with_egd_socket with_random enable_openssl_auto_load_config with_gnutls with_mbedtls | < | 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 | with_amissl with_ssl with_egd_socket with_random enable_openssl_auto_load_config with_gnutls with_mbedtls with_wolfssl with_mesalink with_nss with_ca_bundle with_ca_path with_ca_fallback with_libpsl |
︙ | ︙ | |||
1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 | --disable-symbol-hiding Disable hiding of library internal symbols --enable-hidden-symbols To be deprecated, use --enable-symbol-hiding --disable-hidden-symbols To be deprecated, use --disable-symbol-hiding --enable-ares[=PATH] Enable c-ares for DNS lookups --disable-ares Disable c-ares for DNS lookups --disable-rt disable dependency on -lrt --enable-code-coverage Provide code coverage --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --disable-largefile omit support for large files --enable-shared[=PKGS] build shared libraries [default=yes] | > > | 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 | --disable-symbol-hiding Disable hiding of library internal symbols --enable-hidden-symbols To be deprecated, use --enable-symbol-hiding --disable-hidden-symbols To be deprecated, use --disable-symbol-hiding --enable-ares[=PATH] Enable c-ares for DNS lookups --disable-ares Disable c-ares for DNS lookups --disable-rt disable dependency on -lrt --enable-esni Enable ESNI support --disable-esni Disable ESNI support --enable-code-coverage Provide code coverage --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --disable-largefile omit support for large files --enable-shared[=PKGS] build shared libraries [default=yes] |
︙ | ︙ | |||
2022 2023 2024 2025 2026 2027 2028 | --with-random=FILE read randomness from FILE (default=/dev/urandom) --with-gnutls=PATH where to look for GnuTLS, PATH points to the installation root --without-gnutls disable GnuTLS detection --with-mbedtls=PATH where to look for mbedTLS, PATH points to the installation root --without-mbedtls disable mbedTLS detection | < < < | 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 | --with-random=FILE read randomness from FILE (default=/dev/urandom) --with-gnutls=PATH where to look for GnuTLS, PATH points to the installation root --without-gnutls disable GnuTLS detection --with-mbedtls=PATH where to look for mbedTLS, PATH points to the installation root --without-mbedtls disable mbedTLS detection --with-wolfssl=PATH where to look for WolfSSL, PATH points to the installation root (default: system lib default) --without-wolfssl disable WolfSSL detection --with-mesalink=PATH where to look for MesaLink, PATH points to the installation root --without-mesalink disable MesaLink detection --with-nss=PATH where to look for NSS, PATH points to the |
︙ | ︙ | |||
3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 | *) dontwant_rt="no" { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac # # Check that 'XC_CONFIGURE_PREAMBLE' has already run. # if test -z "$xc_configure_preamble_result"; then as_fn_error $? "xc_configure_preamble_result not set (internal problem)" "$LINENO" 5 | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 | *) dontwant_rt="no" { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable ESNI support" >&5 $as_echo_n "checking whether to enable ESNI support... " >&6; } OPT_ESNI="default" # Check whether --enable-esni was given. if test "${enable_esni+set}" = set; then : enableval=$enable_esni; OPT_ESNI=$enableval fi case "$OPT_ESNI" in no) want_esni="no" curl_esni_msg="no (--enable-esni)" { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; default) want_esni="no" curl_esni_msg="no (--enable-esni)" { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; *) want_esni="yes" curl_esni_msg="enabled (--disable-esni)" experimental="esni" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ;; esac # # Check that 'XC_CONFIGURE_PREAMBLE' has already run. # if test -z "$xc_configure_preamble_result"; then as_fn_error $? "xc_configure_preamble_result not set (internal problem)" "$LINENO" 5 |
︙ | ︙ | |||
21811 21812 21813 21814 21815 21816 21817 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi | < < < < | 21841 21842 21843 21844 21845 21846 21847 21848 21849 21850 21851 21852 21853 21854 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi # Check if struct sockaddr_in6 have sin6_scope_id member if test "$ipv6" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct sockaddr_in6 has sin6_scope_id member" >&5 $as_echo_n "checking if struct sockaddr_in6 has sin6_scope_id member... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ |
︙ | ︙ | |||
24448 24449 24450 24451 24452 24453 24454 | fi OPT_WOLFSSL=no _cppflags=$CPPFLAGS _ldflags=$LDFLAGS | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | | | | | | | | 24474 24475 24476 24477 24478 24479 24480 24481 24482 24483 24484 24485 24486 24487 24488 24489 24490 24491 24492 24493 24494 24495 24496 24497 24498 24499 24500 24501 24502 24503 24504 24505 24506 24507 24508 24509 24510 24511 24512 24513 24514 24515 24516 24517 24518 24519 24520 24521 24522 24523 24524 24525 24526 24527 24528 24529 24530 24531 24532 24533 24534 24535 24536 24537 24538 24539 24540 24541 24542 24543 24544 24545 24546 24547 24548 24549 24550 24551 24552 24553 24554 24555 24556 24557 24558 24559 24560 24561 24562 24563 24564 24565 24566 24567 24568 24569 24570 24571 24572 24573 24574 | fi OPT_WOLFSSL=no _cppflags=$CPPFLAGS _ldflags=$LDFLAGS # Check whether --with-wolfssl was given. if test "${with_wolfssl+set}" = set; then : withval=$with_wolfssl; OPT_WOLFSSL=$withval fi if test -z "$ssl_backends" -o "x$OPT_WOLFSSL" != xno; then ssl_msg= if test X"$OPT_WOLFSSL" != Xno; then if test "$OPT_WOLFSSL" = "yes"; then OPT_WOLFSSL="" fi addld="" addlib="" addcflags="" if test "x$USE_WOLFSSL" != "xyes"; then addld=-L$OPT_WOLFSSL/lib$libsuff addcflags=-I$OPT_WOLFSSL/include wolfssllibpath=$OPT_WOLFSSL/lib$libsuff LDFLAGS="$LDFLAGS $addld" if test "$addcflags" != "-I/usr/include"; then CPPFLAGS="$CPPFLAGS $addcflags" fi my_ac_save_LIBS="$LIBS" LIBS="-lwolfssl -lm $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wolfSSL_Init in -lwolfssl" >&5 $as_echo_n "checking for wolfSSL_Init in -lwolfssl... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* These aren't needed for detection and confuse WolfSSL. They are set up properly later if it is detected. */ #undef SIZEOF_LONG #undef SIZEOF_LONG_LONG #include <wolfssl/ssl.h> int main (void) { return wolfSSL_Init(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define USE_WOLFSSL 1" >>confdefs.h USE_WOLFSSL=1 WOLFSSL_ENABLED=1 USE_WOLFSSL="yes" ssl_msg="WolfSSL" test wolfssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } CPPFLAGS=$_cppflags LDFLAGS=$_ldflags wolfssllibpath="" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$my_ac_save_LIBS" fi if test "x$USE_WOLFSSL" = "xyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: detected wolfSSL" >&5 $as_echo "$as_me: detected wolfSSL" >&6;} check_for_ca_bundle=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 $as_echo_n "checking size of long long... " >&6; } if ${ac_cv_sizeof_long_long+:} false; then : $as_echo_n "(cached) " >&6 else |
︙ | ︙ | |||
24708 24709 24710 24711 24712 24713 24714 | cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long _ACEOF | | | | | | | 24603 24604 24605 24606 24607 24608 24609 24610 24611 24612 24613 24614 24615 24616 24617 24618 24619 24620 24621 24622 24623 24624 24625 24626 24627 24628 24629 24630 24631 24632 24633 24634 24635 24636 24637 24638 24639 | cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long _ACEOF LIBS="-lwolfssl -lm $LIBS" for ac_func in wolfSSLv3_client_method \ wolfSSL_get_peer_certificate \ wolfSSL_UseALPN do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test -n "$wolfssllibpath"; then if test "x$cross_compiling" != "xyes"; then CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$wolfssllibpath" export CURL_LIBRARY_PATH { $as_echo "$as_me:${as_lineno-$LINENO}: Added $wolfssllibpath to CURL_LIBRARY_PATH" >&5 $as_echo "$as_me: Added $wolfssllibpath to CURL_LIBRARY_PATH" >&6;} fi fi fi fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" |
︙ | ︙ | |||
41445 41446 41447 41448 41449 41450 41451 41452 41453 41454 41455 41456 41457 41458 | if test "$ipv6" = "yes"; then if test "$curl_cv_func_getaddrinfo" = "yes"; then $as_echo "#define ENABLE_IPV6 1" >>confdefs.h IPV6_ENABLED=1 fi fi # tst_method="unknown" | > | 41340 41341 41342 41343 41344 41345 41346 41347 41348 41349 41350 41351 41352 41353 41354 | if test "$ipv6" = "yes"; then if test "$curl_cv_func_getaddrinfo" = "yes"; then $as_echo "#define ENABLE_IPV6 1" >>confdefs.h IPV6_ENABLED=1 curl_ipv6_msg="enabled" fi fi # tst_method="unknown" |
︙ | ︙ | |||
42617 42618 42619 42620 42621 42622 42623 42624 42625 42626 42627 42628 42629 42630 | if test "$enable_altsvc" = "yes"; then $as_echo "#define USE_ALTSVC 1" >>confdefs.h experimental="$experimental alt-svc" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether hiding of library internal symbols will actually happen" >&5 $as_echo_n "checking whether hiding of library internal symbols will actually happen... " >&6; } CFLAG_CURL_SYMBOL_HIDING="" doing_symbol_hiding="no" if test x"$curl_cv_native_windows" != "xyes" && test "$want_symbol_hiding" = "yes" && | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 42513 42514 42515 42516 42517 42518 42519 42520 42521 42522 42523 42524 42525 42526 42527 42528 42529 42530 42531 42532 42533 42534 42535 42536 42537 42538 42539 42540 42541 42542 42543 42544 42545 42546 42547 42548 42549 42550 42551 42552 42553 42554 42555 42556 42557 42558 42559 42560 42561 | if test "$enable_altsvc" = "yes"; then $as_echo "#define USE_ALTSVC 1" >>confdefs.h experimental="$experimental alt-svc" fi if test "x$want_esni" != "xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ESNI support is available" >&5 $as_echo_n "checking whether ESNI support is available... " >&6; } ESNI_ENABLED=0 ESNI_SUPPORT='' if test "x$OPENSSL_ENABLED" == "x1"; then for ac_func in SSL_get_esni_status do : ac_fn_c_check_func "$LINENO" "SSL_get_esni_status" "ac_cv_func_SSL_get_esni_status" if test "x$ac_cv_func_SSL_get_esni_status" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SSL_GET_ESNI_STATUS 1 _ACEOF ESNI_SUPPORT="ESNI support available (OpenSSL with SSL_get_esni_status)" ESNI_ENABLED=1 fi done fi if test "x$ESNI_ENABLED" == "x1"; then $as_echo "#define USE_ESNI 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ESNI_SUPPORT" >&5 $as_echo "$ESNI_SUPPORT" >&6; } experimental="$experimental ESNI" else as_fn_error $? "--enable-esni ignored: No ESNI support found" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether hiding of library internal symbols will actually happen" >&5 $as_echo_n "checking whether hiding of library internal symbols will actually happen... " >&6; } CFLAG_CURL_SYMBOL_HIDING="" doing_symbol_hiding="no" if test x"$curl_cv_native_windows" != "xyes" && test "$want_symbol_hiding" = "yes" && |
︙ | ︙ | |||
42758 42759 42760 42761 42762 42763 42764 42765 42766 42767 42768 42769 42770 42771 | SUPPORT_FEATURES="$SUPPORT_FEATURES MultiSSL" fi if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \ -o "x$NSS_ENABLED" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy" fi if test "x$CURL_DISABLE_HTTP" != "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP" if test "x$SSL_ENABLED" = "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTPS" | > > > > | 42689 42690 42691 42692 42693 42694 42695 42696 42697 42698 42699 42700 42701 42702 42703 42704 42705 42706 | SUPPORT_FEATURES="$SUPPORT_FEATURES MultiSSL" fi if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \ -o "x$NSS_ENABLED" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy" fi if test "x$ESNI_ENABLED" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES ESNI" fi if test "x$CURL_DISABLE_HTTP" != "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP" if test "x$SSL_ENABLED" = "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTPS" |
︙ | ︙ | |||
45730 45731 45732 45733 45734 45735 45736 45737 45738 45739 45740 45741 45742 45743 | RTSP: ${curl_rtsp_msg} RTMP: ${curl_rtmp_msg} Metalink: ${curl_mtlnk_msg} PSL: ${curl_psl_msg} Alt-svc: ${curl_altsvc_msg} HTTP2: ${curl_h2_msg} HTTP3: ${curl_h3_msg} Protocols: ${SUPPORT_PROTOCOLS} Features: ${SUPPORT_FEATURES} " >&5 $as_echo "$as_me: Configured to build curl/libcurl: Host setup: ${host} Install prefix: ${prefix} | > | 45665 45666 45667 45668 45669 45670 45671 45672 45673 45674 45675 45676 45677 45678 45679 | RTSP: ${curl_rtsp_msg} RTMP: ${curl_rtmp_msg} Metalink: ${curl_mtlnk_msg} PSL: ${curl_psl_msg} Alt-svc: ${curl_altsvc_msg} HTTP2: ${curl_h2_msg} HTTP3: ${curl_h3_msg} ESNI: ${curl_esni_msg} Protocols: ${SUPPORT_PROTOCOLS} Features: ${SUPPORT_FEATURES} " >&5 $as_echo "$as_me: Configured to build curl/libcurl: Host setup: ${host} Install prefix: ${prefix} |
︙ | ︙ | |||
45772 45773 45774 45775 45776 45777 45778 45779 45780 45781 45782 45783 45784 45785 45786 | RTSP: ${curl_rtsp_msg} RTMP: ${curl_rtmp_msg} Metalink: ${curl_mtlnk_msg} PSL: ${curl_psl_msg} Alt-svc: ${curl_altsvc_msg} HTTP2: ${curl_h2_msg} HTTP3: ${curl_h3_msg} Protocols: ${SUPPORT_PROTOCOLS} Features: ${SUPPORT_FEATURES} " >&6;} if test -n "$experimental"; then cat >&2 << _EOF WARNING: $experimental enabled but marked EXPERIMENTAL. Use with caution! _EOF fi | > | 45708 45709 45710 45711 45712 45713 45714 45715 45716 45717 45718 45719 45720 45721 45722 45723 | RTSP: ${curl_rtsp_msg} RTMP: ${curl_rtmp_msg} Metalink: ${curl_mtlnk_msg} PSL: ${curl_psl_msg} Alt-svc: ${curl_altsvc_msg} HTTP2: ${curl_h2_msg} HTTP3: ${curl_h3_msg} ESNI: ${curl_esni_msg} Protocols: ${SUPPORT_PROTOCOLS} Features: ${SUPPORT_FEATURES} " >&6;} if test -n "$experimental"; then cat >&2 << _EOF WARNING: $experimental enabled but marked EXPERIMENTAL. Use with caution! _EOF fi |
Changes to jni/curl/configure.ac.
︙ | ︙ | |||
45 46 47 48 49 50 51 52 53 54 55 56 57 58 | CURL_CHECK_OPTION_OPTIMIZE CURL_CHECK_OPTION_WARNINGS CURL_CHECK_OPTION_WERROR CURL_CHECK_OPTION_CURLDEBUG CURL_CHECK_OPTION_SYMBOL_HIDING CURL_CHECK_OPTION_ARES CURL_CHECK_OPTION_RT XC_CHECK_PATH_SEPARATOR # # save the configure arguments # CONFIGURE_OPTIONS="\"$ac_configure_args\"" | > | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | CURL_CHECK_OPTION_OPTIMIZE CURL_CHECK_OPTION_WARNINGS CURL_CHECK_OPTION_WERROR CURL_CHECK_OPTION_CURLDEBUG CURL_CHECK_OPTION_SYMBOL_HIDING CURL_CHECK_OPTION_ARES CURL_CHECK_OPTION_RT CURL_CHECK_OPTION_ESNI XC_CHECK_PATH_SEPARATOR # # save the configure arguments # CONFIGURE_OPTIONS="\"$ac_configure_args\"" |
︙ | ︙ | |||
1222 1223 1224 1225 1226 1227 1228 | ipv6=yes, AC_MSG_RESULT(no) ipv6=no, AC_MSG_RESULT(yes) ipv6=yes )) | < < < < | 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 | ipv6=yes, AC_MSG_RESULT(no) ipv6=no, AC_MSG_RESULT(yes) ipv6=yes )) # Check if struct sockaddr_in6 have sin6_scope_id member if test "$ipv6" = yes; then AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member]) AC_TRY_COMPILE([ #include <sys/types.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> |
︙ | ︙ | |||
2211 2212 2213 2214 2215 2216 2217 | dnl ---------------------------------------------------- dnl Default to compiler & linker defaults for wolfSSL files & libraries. OPT_WOLFSSL=no _cppflags=$CPPFLAGS _ldflags=$LDFLAGS | < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | | | | | | | | | | | 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 | dnl ---------------------------------------------------- dnl Default to compiler & linker defaults for wolfSSL files & libraries. OPT_WOLFSSL=no _cppflags=$CPPFLAGS _ldflags=$LDFLAGS AC_ARG_WITH(wolfssl,dnl AC_HELP_STRING([--with-wolfssl=PATH],[where to look for WolfSSL, PATH points to the installation root (default: system lib default)]) AC_HELP_STRING([--without-wolfssl], [disable WolfSSL detection]), OPT_WOLFSSL=$withval) if test -z "$ssl_backends" -o "x$OPT_WOLFSSL" != xno; then ssl_msg= if test X"$OPT_WOLFSSL" != Xno; then if test "$OPT_WOLFSSL" = "yes"; then OPT_WOLFSSL="" fi addld="" addlib="" addcflags="" if test "x$USE_WOLFSSL" != "xyes"; then addld=-L$OPT_WOLFSSL/lib$libsuff addcflags=-I$OPT_WOLFSSL/include wolfssllibpath=$OPT_WOLFSSL/lib$libsuff LDFLAGS="$LDFLAGS $addld" if test "$addcflags" != "-I/usr/include"; then CPPFLAGS="$CPPFLAGS $addcflags" fi my_ac_save_LIBS="$LIBS" LIBS="-lwolfssl -lm $LIBS" AC_MSG_CHECKING([for wolfSSL_Init in -lwolfssl]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ /* These aren't needed for detection and confuse WolfSSL. They are set up properly later if it is detected. */ #undef SIZEOF_LONG #undef SIZEOF_LONG_LONG #include <wolfssl/ssl.h> ]],[[ return wolfSSL_Init(); ]]) ],[ AC_MSG_RESULT(yes) AC_DEFINE(USE_WOLFSSL, 1, [if wolfSSL is enabled]) AC_SUBST(USE_WOLFSSL, [1]) WOLFSSL_ENABLED=1 USE_WOLFSSL="yes" ssl_msg="WolfSSL" test wolfssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes ], [ AC_MSG_RESULT(no) CPPFLAGS=$_cppflags LDFLAGS=$_ldflags wolfssllibpath="" ]) LIBS="$my_ac_save_LIBS" fi if test "x$USE_WOLFSSL" = "xyes"; then AC_MSG_NOTICE([detected wolfSSL]) check_for_ca_bundle=1 dnl wolfssl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined! AX_COMPILE_CHECK_SIZEOF(long long) LIBS="-lwolfssl -lm $LIBS" dnl Recent WolfSSL versions build without SSLv3 by default dnl WolfSSL needs configure --enable-opensslextra to have *get_peer* AC_CHECK_FUNCS(wolfSSLv3_client_method \ wolfSSL_get_peer_certificate \ wolfSSL_UseALPN) if test -n "$wolfssllibpath"; then dnl when shared libs were found in a path that the run-time dnl linker doesn't search through, we need to add it to dnl CURL_LIBRARY_PATH to prevent further configure tests to fail dnl due to this if test "x$cross_compiling" != "xyes"; then CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$wolfssllibpath" export CURL_LIBRARY_PATH AC_MSG_NOTICE([Added $wolfssllibpath to CURL_LIBRARY_PATH]) fi fi fi fi dnl wolfSSL not disabled |
︙ | ︙ | |||
4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 | ]) if test "$ipv6" = "yes"; then if test "$curl_cv_func_getaddrinfo" = "yes"; then AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support]) IPV6_ENABLED=1 AC_SUBST(IPV6_ENABLED) fi fi CURL_CHECK_NONBLOCKING_SOCKET dnl ************************************************************ dnl nroff tool stuff | > | 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 | ]) if test "$ipv6" = "yes"; then if test "$curl_cv_func_getaddrinfo" = "yes"; then AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support]) IPV6_ENABLED=1 AC_SUBST(IPV6_ENABLED) curl_ipv6_msg="enabled" fi fi CURL_CHECK_NONBLOCKING_SOCKET dnl ************************************************************ dnl nroff tool stuff |
︙ | ︙ | |||
4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 | AC_MSG_RESULT(no) ) if test "$enable_altsvc" = "yes"; then AC_DEFINE(USE_ALTSVC, 1, [to enable alt-svc]) experimental="$experimental alt-svc" fi dnl ************************************************************ dnl hiding of library internal symbols dnl CURL_CONFIGURE_SYMBOL_HIDING dnl | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 | AC_MSG_RESULT(no) ) if test "$enable_altsvc" = "yes"; then AC_DEFINE(USE_ALTSVC, 1, [to enable alt-svc]) experimental="$experimental alt-svc" fi dnl ************************************************************* dnl check whether ESNI support, if desired, is actually available dnl if test "x$want_esni" != "xno"; then AC_MSG_CHECKING([whether ESNI support is available]) dnl assume NOT and look for sufficient condition ESNI_ENABLED=0 ESNI_SUPPORT='' dnl OpenSSL with a chosen ESNI function should be enough dnl so more exhaustive checking seems unnecessary for now if test "x$OPENSSL_ENABLED" == "x1"; then AC_CHECK_FUNCS(SSL_get_esni_status, ESNI_SUPPORT="ESNI support available (OpenSSL with SSL_get_esni_status)" ESNI_ENABLED=1) dnl add 'elif' chain here for additional implementations fi dnl now deal with whatever we found if test "x$ESNI_ENABLED" == "x1"; then AC_DEFINE(USE_ESNI, 1, [if ESNI support is available]) AC_MSG_RESULT($ESNI_SUPPORT) experimental="$experimental ESNI" else AC_MSG_ERROR([--enable-esni ignored: No ESNI support found]) fi fi dnl ************************************************************ dnl hiding of library internal symbols dnl CURL_CONFIGURE_SYMBOL_HIDING dnl |
︙ | ︙ | |||
4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 | SUPPORT_FEATURES="$SUPPORT_FEATURES MultiSSL" fi if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \ -o "x$NSS_ENABLED" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy" fi AC_SUBST(SUPPORT_FEATURES) dnl For supported protocols in pkg-config file if test "x$CURL_DISABLE_HTTP" != "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP" if test "x$SSL_ENABLED" = "x1"; then | > > > > | 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 | SUPPORT_FEATURES="$SUPPORT_FEATURES MultiSSL" fi if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \ -o "x$NSS_ENABLED" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy" fi if test "x$ESNI_ENABLED" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES ESNI" fi AC_SUBST(SUPPORT_FEATURES) dnl For supported protocols in pkg-config file if test "x$CURL_DISABLE_HTTP" != "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP" if test "x$SSL_ENABLED" = "x1"; then |
︙ | ︙ | |||
4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 | RTSP: ${curl_rtsp_msg} RTMP: ${curl_rtmp_msg} Metalink: ${curl_mtlnk_msg} PSL: ${curl_psl_msg} Alt-svc: ${curl_altsvc_msg} HTTP2: ${curl_h2_msg} HTTP3: ${curl_h3_msg} Protocols: ${SUPPORT_PROTOCOLS} Features: ${SUPPORT_FEATURES} ]) if test -n "$experimental"; then cat >&2 << _EOF WARNING: $experimental enabled but marked EXPERIMENTAL. Use with caution! _EOF fi | > | 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 | RTSP: ${curl_rtsp_msg} RTMP: ${curl_rtmp_msg} Metalink: ${curl_mtlnk_msg} PSL: ${curl_psl_msg} Alt-svc: ${curl_altsvc_msg} HTTP2: ${curl_h2_msg} HTTP3: ${curl_h3_msg} ESNI: ${curl_esni_msg} Protocols: ${SUPPORT_PROTOCOLS} Features: ${SUPPORT_FEATURES} ]) if test -n "$experimental"; then cat >&2 << _EOF WARNING: $experimental enabled but marked EXPERIMENTAL. Use with caution! _EOF fi |
Changes to jni/curl/docs/BINDINGS.md.
︙ | ︙ | |||
18 19 20 21 22 23 24 25 26 27 28 29 30 31 | [curlcpp](https://github.com/JosephP91/curlcpp) by Giuseppe Persico and [C++ Requests](https://github.com/whoshuu/cpr) by Huu Nguyen [Ch](https://chcurl.sourceforge.io/) Written by Stephen Nestinger and Jonathan Rogado Cocoa: [BBHTTP](https://github.com/brunodecarvalho/BBHTTP) written by Bruno de Carvalho [curlhandle](https://github.com/karelia/curlhandle) Written by Dan Wood [D](https://dlang.org/library/std/net/curl.html) Written by Kenneth Bogert [Delphi](https://github.com/Mercury13/curl4delphi) Written by Mikhail Merkuryev [Dylan](https://dylanlibs.sourceforge.io/) Written by Chris Double | > > | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | [curlcpp](https://github.com/JosephP91/curlcpp) by Giuseppe Persico and [C++ Requests](https://github.com/whoshuu/cpr) by Huu Nguyen [Ch](https://chcurl.sourceforge.io/) Written by Stephen Nestinger and Jonathan Rogado Cocoa: [BBHTTP](https://github.com/brunodecarvalho/BBHTTP) written by Bruno de Carvalho [curlhandle](https://github.com/karelia/curlhandle) Written by Dan Wood Clojure: [clj-curl](https://github.com/lsevero/clj-curl) by Lucas Severo [D](https://dlang.org/library/std/net/curl.html) Written by Kenneth Bogert [Delphi](https://github.com/Mercury13/curl4delphi) Written by Mikhail Merkuryev [Dylan](https://dylanlibs.sourceforge.io/) Written by Chris Double |
︙ | ︙ | |||
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | [Haskell](https://hackage.haskell.org/cgi-bin/hackage-scripts/package/curl) Written by Galois, Inc [Java](https://github.com/pjlegato/curl-java) [Julia](https://github.com/forio/Curl.jl) Written by Paul Howe [Lisp](https://common-lisp.net/project/cl-curl/) Written by Liam Healy Lua: [luacurl](http://luacurl.luaforge.net/) by Alexander Marinov, [Lua-cURL](https://github.com/Lua-cURL) by Jürgen Hötzel [Mono](https://forge.novell.com/modules/xfmod/project/?libcurl-mono) Written by Jeffrey Phillips [.NET](https://sourceforge.net/projects/libcurl-net/) libcurl-net by Jeffrey Phillips [node.js](https://github.com/JCMais/node-libcurl) node-libcurl by Jonathan Cardoso Machado [Object-Pascal](https://web.archive.org/web/20020610214926/www.tekool.com/opcurl) Free Pascal, Delphi and Kylix binding written by Christophe Espern. [OCaml](https://opam.ocaml.org/packages/ocurl/) Written by Lars Nilsson and ygrek [Pascal](https://web.archive.org/web/20030804091414/houston.quik.com/jkp/curlpas/) Free Pascal, Delphi and Kylix binding written by Jeffrey Pohlmeyer. | > > > > | > > > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | [Haskell](https://hackage.haskell.org/cgi-bin/hackage-scripts/package/curl) Written by Galois, Inc [Java](https://github.com/pjlegato/curl-java) [Julia](https://github.com/forio/Curl.jl) Written by Paul Howe [Kapito](https://github.com/puzza007/katipo) is an Erlang HTTP library around libcurl. [Lisp](https://common-lisp.net/project/cl-curl/) Written by Liam Healy Lua: [luacurl](http://luacurl.luaforge.net/) by Alexander Marinov, [Lua-cURL](https://github.com/Lua-cURL) by Jürgen Hötzel [Mono](https://forge.novell.com/modules/xfmod/project/?libcurl-mono) Written by Jeffrey Phillips [.NET](https://sourceforge.net/projects/libcurl-net/) libcurl-net by Jeffrey Phillips [Nim](https://nimble.directory/pkg/libcurl) wrapper for libcurl [node.js](https://github.com/JCMais/node-libcurl) node-libcurl by Jonathan Cardoso Machado [Object-Pascal](https://web.archive.org/web/20020610214926/www.tekool.com/opcurl) Free Pascal, Delphi and Kylix binding written by Christophe Espern. [OCaml](https://opam.ocaml.org/packages/ocurl/) Written by Lars Nilsson and ygrek [Pascal](https://web.archive.org/web/20030804091414/houston.quik.com/jkp/curlpas/) Free Pascal, Delphi and Kylix binding written by Jeffrey Pohlmeyer. Perl: [WWW::Curl](https://github.com/szbalint/WWW--Curl) Maintained by Cris Bailiff and Bálint Szilakszi, [perl6-net-curl](https://github.com/azawawi/perl6-net-curl) by Ahmad M. Zawawi [NET::Curl](https://metacpan.org/pod/Net::Curl) by Przemyslaw Iskra [PHP](https://php.net/curl) Originally written by Sterling Hughes [PostgreSQL](https://github.com/pramsey/pgsql-http) - HTTP client for PostgreSQL [PureBasic](https://www.purebasic.com/documentation/http/index.html) uses libcurl in its "native" HTTP subsystem [Python](http://pycurl.io/) PycURL by Kjetil Jacobsen [R](https://cran.r-project.org/package=curl) [Rexx](https://rexxcurl.sourceforge.io/) Written Mark Hessling |
︙ | ︙ |
Added jni/curl/docs/ESNI.md.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | # TLS: ESNI support in curl and libcurl ## Summary **ESNI** means **Encrypted Server Name Indication**, a TLS 1.3 extension which is currently the subject of an [IETF Draft][tlsesni]. This file is intended to show the latest current state of ESNI support in **curl** and **libcurl**. At end of August 2019, an [experimental fork of curl][niallorcurl], built using an [experimental fork of OpenSSL][sftcdopenssl], which in turn provided an implementation of ESNI, was demonstrated interoperating with a server belonging to the [DEfO Project][defoproj]. Further sections here describe - resources needed for building and demonstrating **curl** support for ESNI, - progress to date, - TODO items, and - additional details of specific stages of the progress. ## Resources needed To build and demonstrate ESNI support in **curl** and/or **libcurl**, you will need - a TLS library, supported by **libcurl**, which implements ESNI; - an edition of **curl** and/or **libcurl** which supports the ESNI implementation of the chosen TLS library; - an environment for building and running **curl**, and at least building **OpenSSL**; - a server, supporting ESNI, against which to run a demonstration and perhaps a specific target URL; - some instructions. The following set of resources is currently known to be available. | Set | Component | Location | Remarks | |:-----|:-------------|:------------------------------|:-------------------------------------------| | DEfO | TLS library | [sftcd/openssl][sftcdopenssl] | Tag *esni-2019-08-30* avoids bleeding edge | | | curl fork | [niallor/curl][niallorcurl] | Tag *esni-2019-08-30* likewise | | | instructions | [ESNI-README][niallorreadme] | | ## Progress ### PR 4011 (Jun 2019) expected in curl release 7.67.0 (Oct 2019) - Details [below](#pr4011); - New **curl** feature: `CURL_VERSION_ESNI`; - New configuration option: `--enable-esni`; - Build-time check for availability of resources needed for ESNI support; - Pre-processor symbol `USE_ESNI` for conditional compilation of ESNI support code, subject to configuration option and availability of needed resources. ## TODO - (next PR) Add libcurl options to set ESNI parameters. - (next PR) Add curl tool command line options to set ESNI parameters. - (WIP) Extend DoH functions so that published ESNI parameters can be retrieved from DNS instead of being required as options. - (WIP) Work with OpenSSL community to finalize ESNI API. - Track OpenSSL ESNI API in libcurl - Identify and implement any changes needed for CMake. - Optimize build-time checking of available resources. - Encourage ESNI support work on other TLS/SSL backends. ## Additional detail ### PR 4011 **TLS: Provide ESNI support framework for curl and libcurl** The proposed change provides a framework to facilitate work to implement ESNI support in curl and libcurl. It is not intended either to provide ESNI functionality or to favour any particular TLS-providing backend. Specifically, the change reserves a feature bit for ESNI support (symbol `CURL_VERSION_ESNI`), implements setting and reporting of this bit, includes dummy book-keeping for the symbol, adds a build-time configuration option (`--enable-esni`), provides an extensible check for resources available to provide ESNI support, and defines a compiler pre-processor symbol (`USE_ESNI`) accordingly. Proposed-by: @niallor (Niall O'Reilly)\ Encouraged-by: @sftcd (Stephen Farrell)\ See-also: [this message](https://curl.haxx.se/mail/lib-2019-05/0108.html) Limitations: - Book-keeping (symbols-in-versions) needs real release number, not 'DUMMY'. - Framework is incomplete, as it covers autoconf, but not CMake. - Check for available resources, although extensible, refers only to specific work in progress ([described here](https://github.com/sftcd/openssl/tree/master/esnistuff)) to implement ESNI for OpenSSL, as this is the immediate motivation for the proposed change. ## References CloudFlare blog: [Encrypting SNI: Fixing One of the Core Internet Bugs][corebug] Cloudflare blog: [Encrypt it or lose it: how encrypted SNI works][esniworks] IETF Draft: [Encrypted Server Name Indication for TLS 1.3][tlsesni] --- [tlsesni]: https://datatracker.ietf.org/doc/draft-ietf-tls-esni/ [esniworks]: https://blog.cloudflare.com/encrypted-sni/ [corebug]: https://blog.cloudflare.com/esni/ [defoproj]: https://defo.ie/ [sftcdopenssl]: https://github.com/sftcd/openssl/ [niallorcurl]: https://github.com/niallor/curl/ [niallorreadme]: https://github.com/niallor/curl/blob/master/ESNI-README.md |
Changes to jni/curl/docs/HTTP3.md.
︙ | ︙ | |||
29 30 31 32 33 34 35 | # ngtcp2 version ## Build Build (patched) OpenSSL | | | | | < < < < < < < < < | | | | | | | > > | | > | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | # ngtcp2 version ## Build Build (patched) OpenSSL % git clone --depth 1 -b openssl-quic-draft-23 https://github.com/tatsuhiro-t/openssl % cd openssl % ./config enable-tls1_3 --prefix=<somewhere1> % make % make install_sw Build nghttp3 % cd .. % git clone https://github.com/ngtcp2/nghttp3 % cd nghttp3 % autoreconf -i % ./configure --prefix=<somewhere2> --enable-lib-only % make % make install Build ngtcp2 % cd .. % git clone https://github.com/ngtcp2/ngtcp2 % cd ngtcp2 % autoreconf -i % ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> % make % make install Build curl % cd .. % git clone https://github.com/curl/curl % cd curl % ./buildconf % LDFLAGS="-Wl,-rpath,<somewhere1>/lib" ./configure --with-ssl=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3> % make # quiche version ## build Clone quiche and BoringSSL: % git clone --recursive https://github.com/cloudflare/quiche Build BoringSSL (it needs to be built manually so it can be reused with curl): % cd quiche/deps/boringssl % mkdir build % cd build % cmake -DCMAKE_POSITION_INDEPENDENT_CODE=on .. % make % cd .. % mkdir -p .openssl/lib % cp build/crypto/libcrypto.a build/ssl/libssl.a .openssl/lib % ln -s $PWD/include .openssl Build quiche: % cd ../.. % QUICHE_BSSL_PATH=$PWD/deps/boringssl cargo build --release --features pkg-config-meta Clone and build curl: % cd .. % git clone https://github.com/curl/curl % cd curl % ./buildconf % ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" --with-ssl=$PWD/../quiche/deps/boringssl/.openssl --with-quiche=$PWD/../quiche/target/release % make ## Run Use HTTP/3 directly: curl --http3 https://nghttp2.org:8443/ Upgrade via Alt-Svc: curl --alt-svc altsvc.cache https://quic.aiortc.org/ See this [list of public HTTP/3 servers](https://bagder.github.io/HTTP3-test/) |
Changes to jni/curl/docs/INSTALL.md.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # how to install curl and libcurl ## Installing Binary Packages Lots of people download binary distributions of curl and libcurl. This document does not describe how to install curl or libcurl using such a binary package. This document describes how to compile, build and install curl and libcurl from source code. ## Building from git If you get your code off a git repository instead of a release tarball, see the `GIT-INFO` file in the root directory for specific instructions on how to proceed. # Unix | > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | # how to install curl and libcurl ## Installing Binary Packages Lots of people download binary distributions of curl and libcurl. This document does not describe how to install curl or libcurl using such a binary package. This document describes how to compile, build and install curl and libcurl from source code. ## Building using vcpkg You can download and install curl and libcurl using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager: git clone https://github.com/Microsoft/vcpkg.git cd vcpkg ./bootstrap-vcpkg.sh ./vcpkg integrate install vcpkg install curl[tool] The curl port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository. ## Building from git If you get your code off a git repository instead of a release tarball, see the `GIT-INFO` file in the root directory for specific instructions on how to proceed. # Unix |
︙ | ︙ | |||
52 53 54 55 56 57 58 | If you have OpenSSL installed somewhere else (for example, `/opt/OpenSSL`) and you have pkg-config installed, set the pkg-config path first, like this: env PKG_CONFIG_PATH=/opt/OpenSSL/lib/pkgconfig ./configure --with-ssl Without pkg-config installed, use this: | | | | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | If you have OpenSSL installed somewhere else (for example, `/opt/OpenSSL`) and you have pkg-config installed, set the pkg-config path first, like this: env PKG_CONFIG_PATH=/opt/OpenSSL/lib/pkgconfig ./configure --with-ssl Without pkg-config installed, use this: ./configure --with-ssl=/opt/OpenSSL If you insist on forcing a build without SSL support, even though you may have OpenSSL installed in your system, you can run configure like this: ./configure --without-ssl If you have OpenSSL installed, but with the libraries in one place and the header files somewhere else, you have to set the `LDFLAGS` and `CPPFLAGS` environment variables prior to running configure. Something like this should work: CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" ./configure |
︙ | ︙ |
Changes to jni/curl/docs/KNOWN_BUGS.
︙ | ︙ | |||
8 9 10 11 12 13 14 | These are problems and bugs known to exist at the time of this release. Feel free to join in and help us correct one or more of these! Also be sure to check the changelog of the current development status, as one or more of these problems may have been fixed or changed somewhat since this was written! 1. HTTP | < | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | These are problems and bugs known to exist at the time of this release. Feel free to join in and help us correct one or more of these! Also be sure to check the changelog of the current development status, as one or more of these problems may have been fixed or changed somewhat since this was written! 1. HTTP 1.3 STARTTRANSFER time is wrong for HTTP POSTs 1.4 multipart formposts file name encoding 1.5 Expect-100 meets 417 1.6 Unnecessary close when 401 received waiting for 100 1.7 Deflate error after all content was received 1.8 DoH isn't used for all name resolves when enabled 1.9 HTTP/2 frames while in the connection pool kill reuse |
︙ | ︙ | |||
51 52 53 54 55 56 57 58 59 60 61 62 63 64 | 5.3 curl compiled on OSX 10.13 failed to run on OSX 10.10 5.4 Cannot compile against a static build of OpenLDAP 5.5 can't handle Unicode arguments in Windows 5.6 cmake support gaps 5.7 Visual Studio project gaps 5.8 configure finding libs in wrong directory 5.9 Utilize Requires.private directives in libcurl.pc 6. Authentication 6.1 NTLM authentication and unicode 6.2 MIT Kerberos for Windows build 6.3 NTLM in system context uses wrong name 6.4 Negotiate and Kerberos V5 need a fake user name 6.5 NTLM doesn't support password with § character | > | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | 5.3 curl compiled on OSX 10.13 failed to run on OSX 10.10 5.4 Cannot compile against a static build of OpenLDAP 5.5 can't handle Unicode arguments in Windows 5.6 cmake support gaps 5.7 Visual Studio project gaps 5.8 configure finding libs in wrong directory 5.9 Utilize Requires.private directives in libcurl.pc 5.10 IDN tests failing on Windows / MSYS2 6. Authentication 6.1 NTLM authentication and unicode 6.2 MIT Kerberos for Windows build 6.3 NTLM in system context uses wrong name 6.4 Negotiate and Kerberos V5 need a fake user name 6.5 NTLM doesn't support password with § character |
︙ | ︙ | |||
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | 11.4 HTTP test server 'connection-monitor' problems 11.5 Connection information when using TCP Fast Open 11.6 slow connect to localhost on Windows 11.7 signal-based resolver timeouts 12. LDAP and OpenLDAP 12.1 OpenLDAP hangs after returning results 13. TCP/IP 13.1 --interface for ipv6 binds to unusable IP address 14 DICT 14.1 DICT responses show the underlying protocol ============================================================================== 1. HTTP | > < < < < < < < < < | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | 11.4 HTTP test server 'connection-monitor' problems 11.5 Connection information when using TCP Fast Open 11.6 slow connect to localhost on Windows 11.7 signal-based resolver timeouts 12. LDAP and OpenLDAP 12.1 OpenLDAP hangs after returning results 12.2 LDAP on Windows does authentication wrong? 13. TCP/IP 13.1 --interface for ipv6 binds to unusable IP address 14 DICT 14.1 DICT responses show the underlying protocol ============================================================================== 1. HTTP 1.3 STARTTRANSFER time is wrong for HTTP POSTs Wrong STARTTRANSFER timer accounting for POST requests Timer works fine with GET requests, but while using POST the time for CURLINFO_STARTTRANSFER_TIME is wrong. While using POST CURLINFO_STARTTRANSFER_TIME minus CURLINFO_PRETRANSFER_TIME is near to zero every time. |
︙ | ︙ | |||
424 425 426 427 428 429 430 431 432 433 434 435 436 437 | separate variable that only after all library checks have been performed gets appended to LDFLAGS. 5.9 Utilize Requires.private directives in libcurl.pc https://github.com/curl/curl/issues/864 6. Authentication 6.1 NTLM authentication and unicode NTLM authentication involving unicode user name or password only works properly if built with UNICODE defined together with the WinSSL/Schannel backend. The original problem was mentioned in: | > > > > > > > | 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 | separate variable that only after all library checks have been performed gets appended to LDFLAGS. 5.9 Utilize Requires.private directives in libcurl.pc https://github.com/curl/curl/issues/864 5.10 IDN tests failing on Windows / MSYS2 It seems like MSYS2 does some UTF-8-to-something-else conversion for Windows compatibility. https://github.com/curl/curl/issues/3747 6. Authentication 6.1 NTLM authentication and unicode NTLM authentication involving unicode user name or password only works properly if built with UNICODE defined together with the WinSSL/Schannel backend. The original problem was mentioned in: |
︙ | ︙ | |||
721 722 723 724 725 726 727 728 729 730 731 732 733 734 | descriptors for a single easy handle (currently limited to 5). Generic LDAP is synchronous: OK. See https://github.com/curl/curl/issues/622 and https://curl.haxx.se/mail/lib-2016-01/0101.html 13. TCP/IP 13.1 --interface for ipv6 binds to unusable IP address Since IPv6 provides a lot of addresses with different scope, binding to an IPv6 address needs to take the proper care so that it doesn't bind to a | > > > | 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 | descriptors for a single easy handle (currently limited to 5). Generic LDAP is synchronous: OK. See https://github.com/curl/curl/issues/622 and https://curl.haxx.se/mail/lib-2016-01/0101.html 12.2 LDAP on Windows does authentication wrong? https://github.com/curl/curl/issues/3116 13. TCP/IP 13.1 --interface for ipv6 binds to unusable IP address Since IPv6 provides a lot of addresses with different scope, binding to an IPv6 address needs to take the proper care so that it doesn't bind to a |
︙ | ︙ |
Changes to jni/curl/docs/Makefile.am.
︙ | ︙ | |||
49 50 51 52 53 54 55 56 57 58 59 60 61 62 | CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ CONTRIBUTE.md \ DEPRECATE.md \ EXPERIMENTAL.md \ FAQ \ FEATURES \ GOVERNANCE.md \ HELP-US.md \ HISTORY.md \ HTTP-COOKIES.md \ | > | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ CONTRIBUTE.md \ DEPRECATE.md \ ESNI.md \ EXPERIMENTAL.md \ FAQ \ FEATURES \ GOVERNANCE.md \ HELP-US.md \ HISTORY.md \ HTTP-COOKIES.md \ |
︙ | ︙ |
Changes to jni/curl/docs/Makefile.in.
︙ | ︙ | |||
479 480 481 482 483 484 485 486 487 488 489 490 491 492 | CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ CONTRIBUTE.md \ DEPRECATE.md \ EXPERIMENTAL.md \ FAQ \ FEATURES \ GOVERNANCE.md \ HELP-US.md \ HISTORY.md \ HTTP-COOKIES.md \ | > | 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 | CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ CONTRIBUTE.md \ DEPRECATE.md \ ESNI.md \ EXPERIMENTAL.md \ FAQ \ FEATURES \ GOVERNANCE.md \ HELP-US.md \ HISTORY.md \ HTTP-COOKIES.md \ |
︙ | ︙ |
Changes to jni/curl/docs/THANKS.
︙ | ︙ | |||
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | Alessandro Vesely Alex Baines Alex Bligh Alex Chan Alex Fishman Alex Grebenschikov Alex Gruz Alex Malinovich Alex Mayorga Alex McLellan Alex Neblett Alex Nichols Alex Potapenko Alex Rousskov Alex Suykov Alex Vinnik Alex aka WindEagle Alexander Beedie Alexander Dyagilev Alexander Elgert Alexander Klauer | > > | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | Alessandro Vesely Alex Baines Alex Bligh Alex Chan Alex Fishman Alex Grebenschikov Alex Gruz Alex Konev Alex Malinovich Alex Mayorga Alex McLellan Alex Neblett Alex Nichols Alex Potapenko Alex Rousskov Alex Samorukov Alex Suykov Alex Vinnik Alex aka WindEagle Alexander Beedie Alexander Dyagilev Alexander Elgert Alexander Klauer |
︙ | ︙ | |||
112 113 114 115 116 117 118 119 120 121 122 123 124 125 | Andreas Wurf Andrei Benea Andrei Cipu Andrei Karas Andrei Kurushin Andrei Neculau Andrei Sedoi Andrei Virtosu Andrej E Baranov Andrew Benham Andrew Biggs Andrew Bushnell Andrew Francis Andrew Fuller | > | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | Andreas Wurf Andrei Benea Andrei Cipu Andrei Karas Andrei Kurushin Andrei Neculau Andrei Sedoi Andrei Valeriu BICA Andrei Virtosu Andrej E Baranov Andrew Benham Andrew Biggs Andrew Bushnell Andrew Francis Andrew Fuller |
︙ | ︙ | |||
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | Ayoub Boudhar Balaji Parasuram Balaji S Rao Balaji Salunke Balazs Kovacsics Balint Szilakszi Barry Abrahamson Bart Whiteley Bas Mevissen Bas van Schaik Basuke Suzuki Ben Boeckel Ben Darnell Ben Greear Ben Kohler Ben Madsen Ben Noordhuis | > > | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | Ayoub Boudhar Balaji Parasuram Balaji S Rao Balaji Salunke Balazs Kovacsics Balint Szilakszi Barry Abrahamson Barry Pollard Bart Whiteley Bas Mevissen Bas van Schaik Bastien Bouclet Basuke Suzuki Ben Boeckel Ben Darnell Ben Greear Ben Kohler Ben Madsen Ben Noordhuis |
︙ | ︙ | |||
253 254 255 256 257 258 259 260 261 262 263 264 265 266 | Bruce Mitchener Bruce Stephens Bruno Grasselli Bruno Thomsen Bruno de Carvalho Bryan Henderson Bryan Kemp Byrial Jensen Caleb Raitto Cameron Kaiser Cameron MacMinn Camille Moncelier Caolan McNamara Carie Pointer | > | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | Bruce Mitchener Bruce Stephens Bruno Grasselli Bruno Thomsen Bruno de Carvalho Bryan Henderson Bryan Kemp Bylon2 on github Byrial Jensen Caleb Raitto Cameron Kaiser Cameron MacMinn Camille Moncelier Caolan McNamara Carie Pointer |
︙ | ︙ | |||
300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | Christian Krause Christian Kurz Christian Robottom Reis Christian Schmitz Christian Stewart Christian Vogt Christian Weisgerber Christophe Demory Christophe Legry Christopher Conroy Christopher Head Christopher Palow Christopher R. Palmer Christopher Stone Chungtsun Li | > > | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | Christian Krause Christian Kurz Christian Robottom Reis Christian Schmitz Christian Stewart Christian Vogt Christian Weisgerber Christoph M. Becker Christophe Demory Christophe Dervieux Christophe Legry Christopher Conroy Christopher Head Christopher Palow Christopher R. Palmer Christopher Stone Chungtsun Li |
︙ | ︙ | |||
378 379 380 381 382 383 384 385 386 387 388 389 390 391 | Daniel Lublin Daniel Melani Daniel Mentz Daniel Romero Daniel Schauenberg Daniel Seither Daniel Shahaf Daniel Steinberg Daniel Stenberg Daniel Theron Daniel at touchtunes Daphne Luong Dario Nieuwenhuis Dario Weißer | > | 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 | Daniel Lublin Daniel Melani Daniel Mentz Daniel Romero Daniel Schauenberg Daniel Seither Daniel Shahaf Daniel Silverstone Daniel Steinberg Daniel Stenberg Daniel Theron Daniel at touchtunes Daphne Luong Dario Nieuwenhuis Dario Weißer |
︙ | ︙ | |||
432 433 434 435 436 437 438 439 440 441 442 443 444 445 | David Tarendash David Thiel David Walser David Woodhouse David Wright David Yan Dengminwen Denis Feklushkin Denis Ollier Dennis Clarke Derek Higgins Desmond O. Chang Detlef Schmier Dheeraj Sangamkar | > | 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 | David Tarendash David Thiel David Walser David Woodhouse David Wright David Yan Dengminwen Denis Chaplygin Denis Feklushkin Denis Ollier Dennis Clarke Derek Higgins Desmond O. Chang Detlef Schmier Dheeraj Sangamkar |
︙ | ︙ | |||
516 517 518 519 520 521 522 523 524 525 526 527 528 529 | Eldar Zaitov Eli Schwartz Elia Tufarolo Elliot Saba Ellis Pritchard Elmira A Semenova Emanuele Bovisio Emil Lerner Emil Romanus Emiliano Ida Emmanuel Tychon Enrico Scholz Enrik Berkhan Eramoto Masaya | > | 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 | Eldar Zaitov Eli Schwartz Elia Tufarolo Elliot Saba Ellis Pritchard Elmira A Semenova Emanuele Bovisio Emil Engler Emil Lerner Emil Romanus Emiliano Ida Emmanuel Tychon Enrico Scholz Enrik Berkhan Eramoto Masaya |
︙ | ︙ | |||
585 586 587 588 589 590 591 592 593 594 595 596 597 598 | Florian Schoppmann Florian Weimer Florin Petriuc Forrest Cahoon Francisco Moraes Francisco Sedano Francois Petitjean Frank Denis Frank Gevaerts Frank Hempel Frank Keeney Frank McGeough Frank Meier Frank Ticheler | > | 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 | Florian Schoppmann Florian Weimer Florin Petriuc Forrest Cahoon Francisco Moraes Francisco Sedano Francois Petitjean Francois Rivard Frank Denis Frank Gevaerts Frank Hempel Frank Keeney Frank McGeough Frank Meier Frank Ticheler |
︙ | ︙ | |||
618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 | Gaël Portay Geeknik Labs Geoff Beier Georg Horn Georg Huettenegger Georg Lippitsch Georg Wicherski Gerd v. Egidy Gergely Nagy Gerhard Herre Gerrit Bruchhäuser Ghennadi Procopciuc Giancarlo Formicuccia Giaslas Georgios Gil Weber Gilad Gilbert Ramirez Jr. Gilles Blanc Giorgos Oikonomou Gisle Vanem GitYuanQu on github Giuseppe Attardi Giuseppe D'Ambrosio Giuseppe Persico Glen A Johnson Jr. | > > | 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 | Gaël Portay Geeknik Labs Geoff Beier Georg Horn Georg Huettenegger Georg Lippitsch Georg Wicherski George Liu Gerd v. Egidy Gergely Nagy Gerhard Herre Gerrit Bruchhäuser Ghennadi Procopciuc Giancarlo Formicuccia Giaslas Georgios Gil Weber Gilad Gilbert Ramirez Jr. Gilles Blanc Gilles Vollant Giorgos Oikonomou Gisle Vanem GitYuanQu on github Giuseppe Attardi Giuseppe D'Ambrosio Giuseppe Persico Glen A Johnson Jr. |
︙ | ︙ | |||
653 654 655 656 657 658 659 660 661 662 663 664 665 666 | Greg Morse Greg Onufer Greg Pratt Greg Rowe Greg Zavertnik Gregory Nicholls Gregory Szorc Grigory Entin Guenole Bescon Guido Berhoerster Guillaume Arluison Gunter Knauf Gustaf Hui Gustavo Grieco | > | 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 | Greg Morse Greg Onufer Greg Pratt Greg Rowe Greg Zavertnik Gregory Nicholls Gregory Szorc Griffin Downs Grigory Entin Guenole Bescon Guido Berhoerster Guillaume Arluison Gunter Knauf Gustaf Hui Gustavo Grieco |
︙ | ︙ | |||
723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 | Igor Makarov Igor Novoseltsev Igor Polyakov Ihor Karpenko Iida Yosiaki Ilguiz Latypov Ilja van Sprundel Immanuel Gregoire Inca R Ingmar Runge Ingo Ralf Blum Ingo Wilken Irfan Adilovic Ironbars13 on github Irving Wolfe Isaac Boukris Isaiah Norton Ishan SinghLevett Ithubg on github Ivan Avdeev Ivo Bellin Salarin Jack Zhang Jackarain on github Jacky Lam Jacob Meuser Jacob Moshenko Jactry Zeng Jad Chamcham Jaime Fullaondo Jakub Wilk Jakub Zakrzewski | > > | 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 | Igor Makarov Igor Novoseltsev Igor Polyakov Ihor Karpenko Iida Yosiaki Ilguiz Latypov Ilja van Sprundel Ilya Kosarev Immanuel Gregoire Inca R Ingmar Runge Ingo Ralf Blum Ingo Wilken Irfan Adilovic Ironbars13 on github Irving Wolfe Isaac Boukris Isaiah Norton Ishan SinghLevett Ithubg on github Ivan Avdeev Ivo Bellin Salarin Jack Zhang Jackarain on github Jacky Lam Jacob Barthelmeh Jacob Meuser Jacob Moshenko Jactry Zeng Jad Chamcham Jaime Fullaondo Jakub Wilk Jakub Zakrzewski |
︙ | ︙ | |||
809 810 811 812 813 814 815 816 817 818 819 820 821 822 | Jeff Johnson Jeff King Jeff Lawson Jeff Phillips Jeff Pohlmeyer Jeff Weber Jeffrey Walton Jens Rantil Jens Schleusener Jeremie Rapin Jeremy Friesner Jeremy Huddleston Jeremy Lainé Jeremy Lin | > | 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 | Jeff Johnson Jeff King Jeff Lawson Jeff Phillips Jeff Pohlmeyer Jeff Weber Jeffrey Walton Jens Finkhaeuser Jens Rantil Jens Schleusener Jeremie Rapin Jeremy Friesner Jeremy Huddleston Jeremy Lainé Jeremy Lin |
︙ | ︙ | |||
836 837 838 839 840 841 842 843 844 845 846 847 848 849 | Jesse Tan Jie He Jim Drash Jim Freeman Jim Fuller Jim Hollinger Jim Meyering Jiri Dvorak Jiri Hruska Jiri Jaburek Jiřà Malák Jocelyn Jaubert Joe Halpin Joe Malicki | > | 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 | Jesse Tan Jie He Jim Drash Jim Freeman Jim Fuller Jim Hollinger Jim Meyering Jimmy Gaussen Jiri Dvorak Jiri Hruska Jiri Jaburek Jiřà Malák Jocelyn Jaubert Joe Halpin Joe Malicki |
︙ | ︙ | |||
886 887 888 889 890 891 892 893 894 895 896 897 898 899 | John Suprock John V. Chow John Wanghui John Weismiller John Wilkinson John-Mark Bell Johnny Luong Jon DeVree Jon Grubbs Jon Nelson Jon Sargeant Jon Seymour Jon Spencer Jon Torrey | > | 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 | John Suprock John V. Chow John Wanghui John Weismiller John Wilkinson John-Mark Bell Johnny Luong Jojojov on github Jon DeVree Jon Grubbs Jon Nelson Jon Sargeant Jon Seymour Jon Spencer Jon Torrey |
︙ | ︙ | |||
1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 | Loic Dachary Loren Kirkby Luan Cestari Luca Altea Luca Boccassi Lucas Adamski Lucas Pardue Ludek Finstrle Ludovico Cavedon Ludwig Nussel Lukas Ruzicka Lukasz Czekierda Luke Amery Luke Call | > | 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 | Loic Dachary Loren Kirkby Luan Cestari Luca Altea Luca Boccassi Lucas Adamski Lucas Pardue Lucas Severo Ludek Finstrle Ludovico Cavedon Ludwig Nussel Lukas Ruzicka Lukasz Czekierda Luke Amery Luke Call |
︙ | ︙ | |||
1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 | Marc Doughty Marc Hesse Marc Hörsken Marc Kleine-Budde Marc Renault Marc Schlatter Marc-Antoine Perennou Marcel Raad Marcel Roelofs Marcelo Echeverria Marcelo Juchem Marcin Adamski Marcin Gryszkalis Marcin Konicki | > | 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 | Marc Doughty Marc Hesse Marc Hörsken Marc Kleine-Budde Marc Renault Marc Schlatter Marc-Antoine Perennou Marcel Hernandez Marcel Raad Marcel Roelofs Marcelo Echeverria Marcelo Juchem Marcin Adamski Marcin Gryszkalis Marcin Konicki |
︙ | ︙ | |||
1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 | Martijn Koster Martin Ankerl Martin C. Martin Martin Drasar Martin Dreher Martin Frodl Martin Galvan Martin Hager Martin Hedenfalk Martin Jansen Martin Kammerhofer Martin Kepplinger Martin Lemke Martin Skinner | > | 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 | Martijn Koster Martin Ankerl Martin C. Martin Martin Drasar Martin Dreher Martin Frodl Martin Galvan Martin Gartner Martin Hager Martin Hedenfalk Martin Jansen Martin Kammerhofer Martin Kepplinger Martin Lemke Martin Skinner |
︙ | ︙ | |||
1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 | NTMan on Github Nach M. S. Nagai H Nate Prewitt Nathan Coulter Nathan O'Sullivan Nathanael Nerode Nathaniel Waisbrot Naveen Chandran Naveen Noel Neal Poole Nehal J Wani Neil Bowers Neil Dunbar Neil Kolban Neil Spring Nic Roets Nicholas Maniscalco Nick Draffen Nick Gimbrone Nick Humfrey Nick Miyake Nick Zitzmann | > > | 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 | NTMan on Github Nach M. S. Nagai H Nate Prewitt Nathan Coulter Nathan O'Sullivan Nathanael Nerode Nathaniel J. Smith Nathaniel Waisbrot Naveen Chandran Naveen Noel Neal Poole Nehal J Wani Neil Bowers Neil Dunbar Neil Kolban Neil Spring Niall O'Reilly Nic Roets Nicholas Maniscalco Nick Draffen Nick Gimbrone Nick Humfrey Nick Miyake Nick Zitzmann |
︙ | ︙ | |||
1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 | Patrick Rapin Patrick Schlangen Patrick Scott Patrick Smith Patrick Watson Patrik Thunstrom Pau Garcia i Quiles Paul Donohue Paul Groke Paul Harrington Paul Harris Paul Howarth Paul Joyce Paul Marks Paul Marquis | > > | 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 | Patrick Rapin Patrick Schlangen Patrick Scott Patrick Smith Patrick Watson Patrik Thunstrom Pau Garcia i Quiles Paul B. Omta Paul Donohue Paul Dreik Paul Groke Paul Harrington Paul Harris Paul Howarth Paul Joyce Paul Marks Paul Marquis |
︙ | ︙ | |||
1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 | Peter Laser Peter O'Gorman Peter Pentchev Peter Piekarski Peter Silva Peter Simonyi Peter Su Peter Sylvester Peter Todd Peter Varga Peter Verhas Peter Wang Peter Wu Peter Wullinger | > | 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 | Peter Laser Peter O'Gorman Peter Pentchev Peter Piekarski Peter Silva Peter Simonyi Peter Su Peter Sumatra Peter Sylvester Peter Todd Peter Varga Peter Verhas Peter Wang Peter Wu Peter Wullinger |
︙ | ︙ | |||
1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 | Phil Pellouchoud Philip Craig Philip Gladstone Philip Langdale Philip Prindeville Philipp Waehnert Philippe Hameau Philippe Raoult Philippe Vaucher Pierre Pierre Brico Pierre Chapuis Pierre Joye Pierre Ynard Piotr Dobrogost Po-Chuan Hsieh Pooyan McSporran Poul T Lomholt Pramod Sharma Prash Dush Praveen Pvs Priyanka Shah | > > | 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 | Phil Pellouchoud Philip Craig Philip Gladstone Philip Langdale Philip Prindeville Philipp Waehnert Philippe Hameau Philippe Marguinaud Philippe Raoult Philippe Vaucher Pierre Pierre Brico Pierre Chapuis Pierre Joye Pierre Ynard Piotr Dobrogost Piotr Komborski Po-Chuan Hsieh Pooyan McSporran Poul T Lomholt Pramod Sharma Prash Dush Praveen Pvs Priyanka Shah |
︙ | ︙ | |||
1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 | Rod Widdowson Rodger Combs Rodney Simmons Rodric Glaser Rodrigo Silva Roger Leigh Roland Blom Roland Krikava Roland Zimmermann Rolf Eike Beer Rolland Dudemaine Romain Coltel Romain Fliedel Romain Geissler | > | 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 | Rod Widdowson Rodger Combs Rodney Simmons Rodric Glaser Rodrigo Silva Roger Leigh Roland Blom Roland Hieber Roland Krikava Roland Zimmermann Rolf Eike Beer Rolland Dudemaine Romain Coltel Romain Fliedel Romain Geissler |
︙ | ︙ | |||
1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 | Scott Davis Scott McCreary Sean Boudreau Sean Burford Sean MacLennan Sean Miller Sebastiaan van Erk Sebastian Mundry Sebastian Pohlschmidt Sebastian Rasmussen Senthil Raja Velu Sergei Kuzmin Sergei Nikulov Sergey Ogryzkov | > | 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 | Scott Davis Scott McCreary Sean Boudreau Sean Burford Sean MacLennan Sean Miller Sebastiaan van Erk Sebastian Haglund Sebastian Mundry Sebastian Pohlschmidt Sebastian Rasmussen Senthil Raja Velu Sergei Kuzmin Sergei Nikulov Sergey Ogryzkov |
︙ | ︙ | |||
1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 | Simon Legner Simon Liu Simon Warta Somnath Kundu Song Ma Sonia Subramanian Spacen Jasset Spiridonoff A.V Spork Schivago Stadler Stephan Stan van de Burgt Stanislav Ivochkin Stanislav Zidek Stefan Agner | > | 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 | Simon Legner Simon Liu Simon Warta Somnath Kundu Song Ma Sonia Subramanian Spacen Jasset Spezifant on github Spiridonoff A.V Spork Schivago Stadler Stephan Stan van de Burgt Stanislav Ivochkin Stanislav Zidek Stefan Agner |
︙ | ︙ | |||
1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 | Steve Roskowski Steve Walch Steven Bazyl Steven G. Johnson Steven Gu Steven M. Schweda Steven Parkes Stoned Elipot Stuart Henderson Sune Ahlgren Sunny Purushe Sven Anders Sven Blumenstein Sven Neuhaus Sven Wegener Svyatoslav Mishyn | > > | 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 | Steve Roskowski Steve Walch Steven Bazyl Steven G. Johnson Steven Gu Steven M. Schweda Steven Parkes Stian Soiland-Reyes Stoned Elipot Stuart Henderson SumatraPeter on github Sune Ahlgren Sunny Purushe Sven Anders Sven Blumenstein Sven Neuhaus Sven Wegener Svyatoslav Mishyn |
︙ | ︙ | |||
1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 | Torben Dannhauer Torsten Foertsch Toshio Kuratomi Toshiyuki Maezawa Traian Nicolescu Travis Burtrum Travis Obenhaus Troels Walsted Hansen Troy Engel Tseng Jun Tuomo Rinne Tupone Alfredo Tyler Hall Török Edwin Ulf Härnhammar Ulf Samuelsson Ulrich Doehner Ulrich Telle Ulrich Zadow Valentin David Vasiliy Faronov Vasily Lobaskin Vasy Okhin Venkat Akella Venkataramana Mokkapati Vicente Garcia Victor Snezhko Vijay Panghal Vikram Saxena Viktor Szakats Ville Skyttä Vilmos Nebehaj Vincas Razma Vincent Bronner Vincent Le Normand Vincent Penquerc'h Vincent Sanders | > > > | 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 | Torben Dannhauer Torsten Foertsch Toshio Kuratomi Toshiyuki Maezawa Traian Nicolescu Travis Burtrum Travis Obenhaus Trivikram Kamat Troels Walsted Hansen Troy Engel Tseng Jun Tuomo Rinne Tupone Alfredo Tyler Hall Török Edwin Ulf Härnhammar Ulf Samuelsson Ulrich Doehner Ulrich Telle Ulrich Zadow Valentin David Valerii Zapodovnikov Vasiliy Faronov Vasily Lobaskin Vasy Okhin Venkat Akella Venkataramana Mokkapati Vicente Garcia Victor Snezhko Vijay Panghal Vikram Saxena Viktor Szakats Vilhelm Prytz Ville Skyttä Vilmos Nebehaj Vincas Razma Vincent Bronner Vincent Le Normand Vincent Penquerc'h Vincent Sanders |
︙ | ︙ | |||
1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 | Xiangbin Li XmiliaH on github Yaakov Selkowitz Yang Tse Yarram Sunil Yasuharu Yamada Yasuhiro Matsumoto Yehezkel Horowitz Yehoshua Hershberg Yi Huang Yiming Jing Yingwei Liu Yonggang Luo Yousuke Kimoto | > | 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 | Xiangbin Li XmiliaH on github Yaakov Selkowitz Yang Tse Yarram Sunil Yasuharu Yamada Yasuhiro Matsumoto Yechiel Kalmenson Yehezkel Horowitz Yehoshua Hershberg Yi Huang Yiming Jing Yingwei Liu Yonggang Luo Yousuke Kimoto |
︙ | ︙ | |||
1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 | jakirkham on github jasal82 on github jnbr on github jonrumsey on github joshhe on github jungle-boogie on github jveazey on github ka7 on github kreshano on github l00p3r on Hackerone lijian996 on github lukaszgn on github madblobfish on github marc-groundctl on github masbug on github mccormickt12 on github migueljcrum on github mkzero on github moohoorama on github nedres on github neex on github neheb on github nevv on HackerOne/curl niallor on github nianxuejie on github niner on github nk nopjmp on github olesteban on github omau on github osabc on github ovidiu-benea on github | > > > | 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 | jakirkham on github jasal82 on github jnbr on github jonrumsey on github joshhe on github jungle-boogie on github jveazey on github jzinn on github ka7 on github kreshano on github l00p3r on Hackerone lijian996 on github lukaszgn on github madblobfish on github marc-groundctl on github masbug on github mccormickt12 on github migueljcrum on github mkzero on github momala454 on github moohoorama on github nedres on github neex on github neheb on github nevv on HackerOne/curl niallor on github nianxuejie on github nico-abram on github niner on github nk nopjmp on github olesteban on github omau on github osabc on github ovidiu-benea on github |
︙ | ︙ |
Changes to jni/curl/docs/TODO.
︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 | consider bringing it up for discussions first on the mailing list so that we all agree it is still a good idea for the project! All bugs documented in the KNOWN_BUGS document are subject for fixing! 1. libcurl 1.1 TFO support on Windows 1.3 struct lifreq 1.5 get rid of PATH_MAX 1.7 Support HTTP/2 for HTTP(S) proxies 1.8 CURLOPT_RESOLVE for any port number 1.9 Cache negative name resolves 1.10 auto-detect proxy 1.11 minimize dependencies with dynamically loaded modules | > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | consider bringing it up for discussions first on the mailing list so that we all agree it is still a good idea for the project! All bugs documented in the KNOWN_BUGS document are subject for fixing! 1. libcurl 1.1 TFO support on Windows 1.2 Consult %APPDATA% also for .netrc 1.3 struct lifreq 1.5 get rid of PATH_MAX 1.7 Support HTTP/2 for HTTP(S) proxies 1.8 CURLOPT_RESOLVE for any port number 1.9 Cache negative name resolves 1.10 auto-detect proxy 1.11 minimize dependencies with dynamically loaded modules |
︙ | ︙ | |||
118 119 120 121 122 123 124 125 126 127 128 129 130 131 | 16. SASL 16.1 Other authentication mechanisms 16.2 Add QOP support to GSSAPI authentication 16.3 Support binary messages (i.e.: non-base64) 17. SSH protocols 17.1 Multiplexing 17.3 Support better than MD5 hostkey hash 17.4 Support CURLOPT_PREQUOTE 18. Command line tool 18.1 sync 18.2 glob posts 18.3 prevent file overwriting | > | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | 16. SASL 16.1 Other authentication mechanisms 16.2 Add QOP support to GSSAPI authentication 16.3 Support binary messages (i.e.: non-base64) 17. SSH protocols 17.1 Multiplexing 17.2 Handle growing SFTP files 17.3 Support better than MD5 hostkey hash 17.4 Support CURLOPT_PREQUOTE 18. Command line tool 18.1 sync 18.2 glob posts 18.3 prevent file overwriting |
︙ | ︙ | |||
177 178 179 180 181 182 183 184 185 186 187 188 189 190 | 1.1 TFO support on Windows TCP Fast Open is supported on several platforms but not on Windows. Work on this was once started but never finished. See https://github.com/curl/curl/pull/3378 1.3 struct lifreq Use 'struct lifreq' and SIOCGLIFADDR instead of 'struct ifreq' and SIOCGIFADDR on newer Solaris versions as they claim the latter is obsolete. To support IPv6 interface addresses for network interfaces properly. 1.5 get rid of PATH_MAX | > > > > > > | 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | 1.1 TFO support on Windows TCP Fast Open is supported on several platforms but not on Windows. Work on this was once started but never finished. See https://github.com/curl/curl/pull/3378 1.2 Consult %APPDATA% also for .netrc %APPDATA%\.netrc is not considered when running on Windows. Shouldn't it? See https://github.com/curl/curl/issues/4016 1.3 struct lifreq Use 'struct lifreq' and SIOCGLIFADDR instead of 'struct ifreq' and SIOCGIFADDR on newer Solaris versions as they claim the latter is obsolete. To support IPv6 interface addresses for network interfaces properly. 1.5 get rid of PATH_MAX |
︙ | ︙ | |||
788 789 790 791 792 793 794 795 796 797 798 799 800 801 | much in the same spirit as HTTP/2 does. libcurl however does not take advantage of that ability but will instead always create a new connection for new transfers even if an existing connection already exists to the host. To fix this, libcurl would have to detect an existing connection and "attach" the new transfer to the existing one. 17.3 Support better than MD5 hostkey hash libcurl offers the CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 option for verifying the server's key. MD5 is generally being deprecated so we should implement support for stronger hashing algorithms. libssh2 itself is what provides this underlying functionality and it supports at least SHA-1 as an alternative. SHA-1 is also being deprecated these days so we should consider working with | > > > > > > > > > > | 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 | much in the same spirit as HTTP/2 does. libcurl however does not take advantage of that ability but will instead always create a new connection for new transfers even if an existing connection already exists to the host. To fix this, libcurl would have to detect an existing connection and "attach" the new transfer to the existing one. 17.2 Handle growing SFTP files The SFTP code in libcurl checks the file size *before* a transfer starts and then proceeds to transfer exactly that amount of data. If the remote file grows while the tranfer is in progress libcurl won't notice and will not adapt. The OpenSSH SFTP command line tool does and libcurl could also just attempt to download more to see if there is more to get... https://github.com/curl/curl/issues/4344 17.3 Support better than MD5 hostkey hash libcurl offers the CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 option for verifying the server's key. MD5 is generally being deprecated so we should implement support for stronger hashing algorithms. libssh2 itself is what provides this underlying functionality and it supports at least SHA-1 as an alternative. SHA-1 is also being deprecated these days so we should consider working with |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/Makefile.in.
︙ | ︙ | |||
460 461 462 463 464 465 466 467 468 469 470 471 | netrc-file.d \ netrc-optional.d \ netrc.d \ next.d no-alpn.d \ no-buffer.d \ no-keepalive.d \ no-npn.d \ no-sessionid.d \ noproxy.d \ ntlm.d ntlm-wb.d \ oauth2-bearer.d \ output.d \ | > < > | 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 | netrc-file.d \ netrc-optional.d \ netrc.d \ next.d no-alpn.d \ no-buffer.d \ no-keepalive.d \ no-npn.d \ no-progress-meter.d \ no-sessionid.d \ noproxy.d \ ntlm.d ntlm-wb.d \ oauth2-bearer.d \ output.d \ parallel.d \ pass.d \ parallel-max.d \ path-as-is.d \ pinnedpubkey.d \ post301.d \ post302.d \ post303.d \ preproxy.d \ |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/Makefile.inc.
︙ | ︙ | |||
93 94 95 96 97 98 99 100 101 102 103 104 | netrc-file.d \ netrc-optional.d \ netrc.d \ next.d no-alpn.d \ no-buffer.d \ no-keepalive.d \ no-npn.d \ no-sessionid.d \ noproxy.d \ ntlm.d ntlm-wb.d \ oauth2-bearer.d \ output.d \ | > < > | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | netrc-file.d \ netrc-optional.d \ netrc.d \ next.d no-alpn.d \ no-buffer.d \ no-keepalive.d \ no-npn.d \ no-progress-meter.d \ no-sessionid.d \ noproxy.d \ ntlm.d ntlm-wb.d \ oauth2-bearer.d \ output.d \ parallel.d \ pass.d \ parallel-max.d \ path-as-is.d \ pinnedpubkey.d \ post301.d \ post302.d \ post303.d \ preproxy.d \ |
︙ | ︙ |
Added jni/curl/docs/cmdline-opts/no-progress-meter.d.
> > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 | Long: no-progress-meter Help: Do not show the progress meter See-also: verbose silent Added: 7.67.0 --- Option to switch off the progress meter output without muting or otherwise affecting warning and informational messages like --silent does. Note that this is the negated option name documented. You can thus use --progress-meter to enable the progress meter again. |
Changes to jni/curl/docs/curl-config.1.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl-config 1 "November 30, 2017" "Curl 7.67.0" "curl-config manual" .SH NAME curl-config \- Get information about a libcurl installation .SH SYNOPSIS .B curl-config [options] .SH DESCRIPTION .B curl-config |
︙ | ︙ |
Changes to jni/curl/docs/curl.1.
︙ | ︙ | |||
18 19 20 21 22 23 24 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator. .\" | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator. .\" .TH curl 1 "November 16, 2016" "Curl 7.67.0" "Curl Manual" .SH NAME curl \- transfer a URL .SH SYNOPSIS .B curl [options / URLs] .SH DESCRIPTION .B curl |
︙ | ︙ | |||
1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 | --keepalive to enforce keepalive. .IP "--no-npn" (HTTPS) Disable the NPN TLS extension. NPN is enabled by default if libcurl was built with an SSL library that supports NPN. NPN is used by a libcurl that supports HTTP/2 to negotiate HTTP/2 support with the server during https sessions. See also \fI--no-alpn\fP and \fI--http2\fP. \fI--no-npn\fP requires that the underlying libcurl was built to support TLS. Added in 7.36.0. .IP "--no-sessionid" (TLS) Disable curl's use of SSL session-ID caching. By default all transfers are done using the cache. Note that while nothing should ever get hurt by attempting to reuse SSL session-IDs, there seem to be broken SSL implementations in the wild that may require you to disable this in order for you to succeed. | > > > > > > > > | 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 | --keepalive to enforce keepalive. .IP "--no-npn" (HTTPS) Disable the NPN TLS extension. NPN is enabled by default if libcurl was built with an SSL library that supports NPN. NPN is used by a libcurl that supports HTTP/2 to negotiate HTTP/2 support with the server during https sessions. See also \fI--no-alpn\fP and \fI--http2\fP. \fI--no-npn\fP requires that the underlying libcurl was built to support TLS. Added in 7.36.0. .IP "--no-progress-meter" Option to switch off the progress meter output without muting or otherwise affecting warning and informational messages like \fI-s, --silent\fP does. Note that this is the negated option name documented. You can thus use --progress-meter to enable the progress meter again. See also \fI-v, --verbose\fP and \fI-s, --silent\fP. Added in 7.67.0. .IP "--no-sessionid" (TLS) Disable curl's use of SSL session-ID caching. By default all transfers are done using the cache. Note that while nothing should ever get hurt by attempting to reuse SSL session-IDs, there seem to be broken SSL implementations in the wild that may require you to disable this in order for you to succeed. |
︙ | ︙ |
Changes to jni/curl/docs/examples/Makefile.in.
︙ | ︙ | |||
1210 1211 1212 1213 1214 1215 1216 | # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \ ghiper.c hiperfifo.c htmltidy.c multithread.c opensslthreadlock.c \ sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \ smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \ multi-uv.c xmlstream.c usercertinmem.c sessioninfo.c \ | | | 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 | # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \ ghiper.c hiperfifo.c htmltidy.c multithread.c opensslthreadlock.c \ sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \ smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \ multi-uv.c xmlstream.c usercertinmem.c sessioninfo.c \ threaded-shared-conn.c crawler.c ephiperfifo.c multi-event.c CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) all: all-am |
︙ | ︙ |
Changes to jni/curl/docs/examples/Makefile.inc.
︙ | ︙ | |||
41 42 43 44 45 46 47 | # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \ ghiper.c hiperfifo.c htmltidy.c multithread.c opensslthreadlock.c \ sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \ smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \ multi-uv.c xmlstream.c usercertinmem.c sessioninfo.c \ | | | 41 42 43 44 45 46 47 48 | # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \ ghiper.c hiperfifo.c htmltidy.c multithread.c opensslthreadlock.c \ sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \ smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \ multi-uv.c xmlstream.c usercertinmem.c sessioninfo.c \ threaded-shared-conn.c crawler.c ephiperfifo.c multi-event.c |
Changes to jni/curl/docs/examples/externalsocket.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/ftp-wildcard.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/htmltidy.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/htmltitle.cpp.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/http2-upload.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/imap-append.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/multi-app.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Added jni/curl/docs/examples/multi-event.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ /* <DESC> * multi_socket API using libevent * </DESC> */ #include <stdio.h> #include <stdlib.h> #include <event2/event.h> #include <curl/curl.h> struct event_base *base; CURLM *curl_handle; struct event *timeout; typedef struct curl_context_s { struct event *event; curl_socket_t sockfd; } curl_context_t; static void curl_perform(int fd, short event, void *arg); static curl_context_t* create_curl_context(curl_socket_t sockfd) { curl_context_t *context; context = (curl_context_t *) malloc(sizeof(*context)); context->sockfd = sockfd; context->event = event_new(base, sockfd, 0, curl_perform, context); return context; } static void destroy_curl_context(curl_context_t *context) { event_del(context->event); event_free(context->event); free(context); } static void add_download(const char *url, int num) { char filename[50]; FILE *file; CURL *handle; snprintf(filename, 50, "%d.download", num); file = fopen(filename, "wb"); if(!file) { fprintf(stderr, "Error opening %s\n", filename); return; } handle = curl_easy_init(); curl_easy_setopt(handle, CURLOPT_WRITEDATA, file); curl_easy_setopt(handle, CURLOPT_PRIVATE, file); curl_easy_setopt(handle, CURLOPT_URL, url); curl_multi_add_handle(curl_handle, handle); fprintf(stderr, "Added download %s -> %s\n", url, filename); } static void check_multi_info(void) { char *done_url; CURLMsg *message; int pending; CURL *easy_handle; FILE *file; while((message = curl_multi_info_read(curl_handle, &pending))) { switch(message->msg) { case CURLMSG_DONE: /* Do not use message data after calling curl_multi_remove_handle() and curl_easy_cleanup(). As per curl_multi_info_read() docs: "WARNING: The data the returned pointer points to will not survive calling curl_multi_cleanup, curl_multi_remove_handle or curl_easy_cleanup." */ easy_handle = message->easy_handle; curl_easy_getinfo(easy_handle, CURLINFO_EFFECTIVE_URL, &done_url); curl_easy_getinfo(easy_handle, CURLINFO_PRIVATE, &file); printf("%s DONE\n", done_url); curl_multi_remove_handle(curl_handle, easy_handle); curl_easy_cleanup(easy_handle); if(file) { fclose(file); } break; default: fprintf(stderr, "CURLMSG default\n"); break; } } } static void curl_perform(int fd, short event, void *arg) { int running_handles; int flags = 0; curl_context_t *context; if(event & EV_READ) flags |= CURL_CSELECT_IN; if(event & EV_WRITE) flags |= CURL_CSELECT_OUT; context = (curl_context_t *) arg; curl_multi_socket_action(curl_handle, context->sockfd, flags, &running_handles); check_multi_info(); } static void on_timeout(evutil_socket_t fd, short events, void *arg) { int running_handles; curl_multi_socket_action(curl_handle, CURL_SOCKET_TIMEOUT, 0, &running_handles); check_multi_info(); } static int start_timeout(CURLM *multi, long timeout_ms, void *userp) { if(timeout_ms < 0) { evtimer_del(timeout); } else { if(timeout_ms == 0) timeout_ms = 1; /* 0 means directly call socket_action, but we'll do it in a bit */ struct timeval tv; tv.tv_sec = timeout_ms / 1000; tv.tv_usec = (timeout_ms % 1000) * 1000; evtimer_del(timeout); evtimer_add(timeout, &tv); } return 0; } static int handle_socket(CURL *easy, curl_socket_t s, int action, void *userp, void *socketp) { curl_context_t *curl_context; int events = 0; switch(action) { case CURL_POLL_IN: case CURL_POLL_OUT: case CURL_POLL_INOUT: curl_context = socketp ? (curl_context_t *) socketp : create_curl_context(s); curl_multi_assign(curl_handle, s, (void *) curl_context); if(action != CURL_POLL_IN) events |= EV_WRITE; if(action != CURL_POLL_OUT) events |= EV_READ; events |= EV_PERSIST; event_del(curl_context->event); event_assign(curl_context->event, base, curl_context->sockfd, events, curl_perform, curl_context); event_add(curl_context->event, NULL); break; case CURL_POLL_REMOVE: if(socketp) { event_del(((curl_context_t*) socketp)->event); destroy_curl_context((curl_context_t*) socketp); curl_multi_assign(curl_handle, s, NULL); } break; default: abort(); } return 0; } int main(int argc, char **argv) { if(argc <= 1) return 0; if(curl_global_init(CURL_GLOBAL_ALL)) { fprintf(stderr, "Could not init curl\n"); return 1; } base = event_base_new(); timeout = evtimer_new(base, on_timeout, NULL); curl_handle = curl_multi_init(); curl_multi_setopt(curl_handle, CURLMOPT_SOCKETFUNCTION, handle_socket); curl_multi_setopt(curl_handle, CURLMOPT_TIMERFUNCTION, start_timeout); while(argc-- > 1) { add_download(argv[argc], argc); } event_base_dispatch(base); curl_multi_cleanup(curl_handle); event_free(timeout); event_base_free(base); libevent_global_shutdown(); curl_global_cleanup(); return 0; } |
Changes to jni/curl/docs/examples/multithread.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/postit2-formadd.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
30 31 32 33 34 35 36 | * * <form method="post" enctype="multipart/form-data" action="examplepost.cgi"> * Enter file: <input type="file" name="sendfile" size="40"> * Enter file name: <input type="text" name="filename" size="30"> * <input type="submit" value="send" name="submit"> * </form> * | < | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | * * <form method="post" enctype="multipart/form-data" action="examplepost.cgi"> * Enter file: <input type="file" name="sendfile" size="40"> * Enter file name: <input type="text" name="filename" size="30"> * <input type="submit" value="send" name="submit"> * </form> * */ #include <stdio.h> #include <string.h> #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/examples/postit2.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
30 31 32 33 34 35 36 | * * <form method="post" enctype="multipart/form-data" action="examplepost.cgi"> * Enter file: <input type="file" name="sendfile" size="40"> * Enter file name: <input type="text" name="filename" size="30"> * <input type="submit" value="send" name="submit"> * </form> * | < | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | * * <form method="post" enctype="multipart/form-data" action="examplepost.cgi"> * Enter file: <input type="file" name="sendfile" size="40"> * Enter file name: <input type="text" name="filename" size="30"> * <input type="submit" value="send" name="submit"> * </form> * */ #include <stdio.h> #include <string.h> #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/examples/resolve.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/sampleconv.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/sendrecv.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/shared-connection-cache.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/smooth-gtk-thread.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/smtp-mime.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/sslbackend.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
52 53 54 55 56 57 58 | for(i = 0; list[i]; i++) printf("SSL backend #%d: '%s' (ID: %d)\n", i, list[i]->name, list[i]->id); return 0; } | | | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | for(i = 0; list[i]; i++) printf("SSL backend #%d: '%s' (ID: %d)\n", i, list[i]->name, list[i]->id); return 0; } else if(isdigit((int)(unsigned char)*name)) { int id = atoi(name); result = curl_global_sslset((curl_sslbackend)id, NULL, NULL); } else result = curl_global_sslset(-1, name, NULL); |
︙ | ︙ |
Changes to jni/curl/docs/examples/synctime.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/threaded-shared-conn.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/threaded-ssl.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_cleanup.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_cleanup 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_cleanup - End a libcurl easy handle .SH SYNOPSIS .B #include <curl/curl.h> .BI "void curl_easy_cleanup(CURL *" handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_duphandle.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_duphandle 3 "March 01, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_duphandle - Clone a libcurl session handle .SH SYNOPSIS .B #include <curl/curl.h> .BI "CURL *curl_easy_duphandle(CURL *"handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_escape.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_escape - URL encodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_easy_escape( CURL *" curl ", const char *" string |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_getinfo.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_getinfo 3 "August 06, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_getinfo - extract information from a curl handle .SH SYNOPSIS .B #include <curl/curl.h> .B "CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_init 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_init - Start a libcurl easy session .SH SYNOPSIS .B #include <curl/curl.h> .BI "CURL *curl_easy_init( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_pause.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_pause - pause and unpause a connection .SH SYNOPSIS .B #include <curl/curl.h> .BI "CURLcode curl_easy_pause(CURL *"handle ", int "bitmask " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_perform.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_perform 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_perform - perform a blocking file transfer .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_easy_perform(CURL *" easy_handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_recv.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_recv - receives raw data on an "easy" connection .SH SYNOPSIS .B #include <curl/easy.h> .sp .BI "CURLcode curl_easy_recv( CURL *" curl ", void *" buffer "," |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_reset.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_reset 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_reset - reset all options of a libcurl session handle .SH SYNOPSIS .B #include <curl/curl.h> .BI "void curl_easy_reset(CURL *"handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_send.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_send 3 "December 18, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_send - sends raw data over an "easy" connection .SH SYNOPSIS .B #include <curl/easy.h> .sp .BI "CURLcode curl_easy_send( CURL *" curl ", const void *" buffer "," |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_setopt.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_setopt 3 "August 09, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_setopt \- set options for a curl easy handle .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_strerror.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_strerror - return string describing error code .SH SYNOPSIS #include <curl/curl.h> const char *curl_easy_strerror(CURLcode errornum); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_unescape.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_easy_unescape - URL decodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_easy_unescape( CURL *" curl ", const char *" url |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_escape.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_escape 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_escape - URL encodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_escape( const char *" url ", int "length " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formadd.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_formadd 3 "December 11, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_formadd - add a section to a multipart/formdata HTTP POST .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLFORMcode curl_formadd(struct curl_httppost ** " firstitem, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formfree.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_formfree 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_formfree - free a previously build multipart/formdata HTTP POST chain .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_formfree(struct curl_httppost *" form); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formget.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_formget 3 "September 02, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_formget - serialize a previously built multipart/formdata HTTP POST chain .SH SYNOPSIS .nf .B #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_free.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_free 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_free - reclaim memory that has been obtained through a libcurl call .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_free( char *" ptr " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_getdate.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_getdate 3 "January 18, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_getdate - Convert a date string to number of seconds .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "time_t curl_getdate(char *" datestring ", time_t *"now " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_getenv.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_getenv 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_getenv - return value for environment name .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_getenv(const char *" name ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_global_cleanup - global libcurl cleanup .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_global_cleanup(void);" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_init 3 "April 17, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_global_init - Global libcurl initialisation .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_global_init(long " flags ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_init_mem.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_init_mem 3 "August 11, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_global_init_mem - Global libcurl initialisation with memory callbacks .SH SYNOPSIS .B #include <curl/curl.h> .nf .B "CURLcode curl_global_init_mem(long " flags, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_sslset.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_sslset 3 "October 30, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_global_sslset - Select SSL backend to use with libcurl .SH SYNOPSIS .B #include <curl/curl.h> .nf |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_addpart.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_addpart - append a new empty part to a mime structure .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "curl_mimepart * curl_mime_addpart(curl_mime * " mime ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_data.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_data 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_data - set a mime part's body data from memory .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_data(curl_mimepart * " part ", const char * " data |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_data_cb.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_data_cb - set a callback-based data source for a mime part's body .SH SYNOPSIS .B #include <curl/curl.h> .sp size_t readfunc(char *buffer, size_t size, size_t nitems, void *arg); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_encoder.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_encoder - set a mime part's encoder and content transfer encoding .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_encoder(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_filedata.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_filedata - set a mime part's body data from a file contents .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_filedata(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_filename.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_filename - set a mime part's remote file name .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_filename(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_free.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_free 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_free - free a previously built mime structure .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_mime_free(curl_mime *" mime); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_headers.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_headers - set a mime part's custom headers .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_headers(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_init 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_init - create a mime handle .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "curl_mime * curl_mime_init(CURL * " easy_handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_name.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_name 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_name - set a mime part's name .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_name(curl_mimepart * " part ", const char * " name ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_subparts.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_subparts - set subparts of a multipart mime part .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_subparts(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_type.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_type 3 "April 17, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_mime_type - set a mime part's content type .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_type(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mprintf.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_printf 3 "April 01, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf, curl_mvsprintf - formatted output conversion .SH SYNOPSIS .B #include <curl/mprintf.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_add_handle.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_add_handle 3 "June 30, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_add_handle - add an easy handle to a multi session .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_assign.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_assign \- set data to associate with an internal socket .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_assign(CURLM *multi_handle, curl_socket_t sockfd, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_cleanup 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_cleanup - close down a multi session .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLMcode curl_multi_cleanup( CURLM *multi_handle );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_fdset.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_fdset - extracts file descriptor information from a multi handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_info_read.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_info_read - read multi stack informationals .SH SYNOPSIS #include <curl/curl.h> CURLMsg *curl_multi_info_read( CURLM *multi_handle, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_init 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_init - create a multi handle .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLM *curl_multi_init( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_perform.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_perform 3 "October 31, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_perform - reads/writes available data from each easy handle .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles); |
︙ | ︙ | |||
43 44 45 46 47 48 49 50 51 52 53 54 55 56 | If the amount of \fIrunning_handles\fP is changed from the previous call (or is less than the amount of easy handles you've added to the multi handle), you know that there is one or more transfers less "running". You can then call \fIcurl_multi_info_read(3)\fP to get information about each individual completed transfer, and that returned info includes CURLcode and more. If an added handle fails very quickly, it may never be counted as a running_handle. When \fIrunning_handles\fP is set to zero (0) on the return of this function, there is no longer any transfers in progress. .SH EXAMPLE .nf #ifdef _WIN32 #define SHORT_SLEEP Sleep(100) | > > | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | If the amount of \fIrunning_handles\fP is changed from the previous call (or is less than the amount of easy handles you've added to the multi handle), you know that there is one or more transfers less "running". You can then call \fIcurl_multi_info_read(3)\fP to get information about each individual completed transfer, and that returned info includes CURLcode and more. If an added handle fails very quickly, it may never be counted as a running_handle. You could use \fIcurl_multi_info_read(3)\fP to track actual status of the added handles in that case. When \fIrunning_handles\fP is set to zero (0) on the return of this function, there is no longer any transfers in progress. .SH EXAMPLE .nf #ifdef _WIN32 #define SHORT_SLEEP Sleep(100) |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_poll.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_poll 3 "July 29, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_poll - polls on all easy handles in a multi handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_remove_handle.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_remove_handle 3 "February 19, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_remove_handle - remove an easy handle from a multi session .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_setopt.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_setopt 3 "September 24, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_setopt \- set options for a curl multi handle .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param); |
︙ | ︙ | |||
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | See \fICURLMOPT_SOCKETFUNCTION(3)\fP .IP CURLMOPT_SOCKETDATA See \fICURLMOPT_SOCKETDATA(3)\fP .IP CURLMOPT_TIMERFUNCTION See \fICURLMOPT_TIMERFUNCTION(3)\fP .IP CURLMOPT_TIMERDATA See \fICURLMOPT_TIMERDATA(3)\fP .SH RETURNS The standard CURLMcode for multi interface error codes. Note that it returns a CURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl doesn't know of. .SH AVAILABILITY This function was added in libcurl 7.15.4. .SH "SEE ALSO" .BR curl_multi_cleanup "(3), " curl_multi_init "(3), " .BR curl_multi_socket "(3), " curl_multi_info_read "(3)" | > > | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | See \fICURLMOPT_SOCKETFUNCTION(3)\fP .IP CURLMOPT_SOCKETDATA See \fICURLMOPT_SOCKETDATA(3)\fP .IP CURLMOPT_TIMERFUNCTION See \fICURLMOPT_TIMERFUNCTION(3)\fP .IP CURLMOPT_TIMERDATA See \fICURLMOPT_TIMERDATA(3)\fP .IP CURLMOPT_MAX_CONCURRENT_STREAMS See \fICURLMOPT_MAX_CONCURRENT_STREAMS(3)\fP .SH RETURNS The standard CURLMcode for multi interface error codes. Note that it returns a CURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl doesn't know of. .SH AVAILABILITY This function was added in libcurl 7.15.4. .SH "SEE ALSO" .BR curl_multi_cleanup "(3), " curl_multi_init "(3), " .BR curl_multi_socket "(3), " curl_multi_info_read "(3)" |
Changes to jni/curl/docs/libcurl/curl_multi_socket.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_socket 3 "June 30, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_socket \- reads/writes available data .SH SYNOPSIS .nf #include <curl/curl.h> CURLMcode curl_multi_socket(CURLM * multi_handle, curl_socket_t sockfd, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_socket_action.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_socket_action 3 "June 10, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_socket_action \- reads/writes available data given an action .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_strerror.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_strerror - return string describing error code .SH SYNOPSIS .nf .B #include <curl/curl.h> .BI "const char *curl_multi_strerror(CURLMcode " errornum ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_timeout.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_timeout 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_timeout \- how long to wait for action before proceeding .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_timeout(CURLM *multi_handle, long *timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_wait.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_wait 3 "October 31, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_multi_wait - polls on all easy handles in a multi handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_cleanup 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_share_cleanup - Clean up a shared object .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLSHcode curl_share_cleanup(CURLSH *" share_handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_init 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_share_init - Create a shared object .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLSH *curl_share_init( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_setopt.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_setopt 3 "June 04, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_share_setopt - Set options for a shared object .SH SYNOPSIS .B #include <curl/curl.h> .sp CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_strerror.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_share_strerror - return string describing error code .SH SYNOPSIS .nf .B #include <curl/curl.h> .BI "const char *curl_share_strerror(CURLSHcode " errornum ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_slist_append.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_slist_append 3 "January 02, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_slist_append - add a string to an slist .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "struct curl_slist *curl_slist_append(struct curl_slist *" list, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_slist_free_all.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_slist_free_all 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_slist_free_all - free an entire curl_slist list .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_slist_free_all(struct curl_slist *" list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_strequal.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_strequal 3 "June 29, 2017" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_strequal, curl_strnequal - case insensitive string comparisons .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "int curl_strequal(char *" str1 ", char *" str2 ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_unescape.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_unescape 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_unescape - URL decodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_unescape( const char *" url ", int "length " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url 3 "March 22, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_url - returns a new CURLU handle .SH SYNOPSIS .B #include <curl/curl.h> CURLU *curl_url(); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_cleanup 3 "September 08, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_url_cleanup - free a CURLU handle .SH SYNOPSIS .B #include <curl/curl.h> void curl_url_cleanup(CURLU *handle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_dup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_dup 3 "September 08, 2018" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_url_dup - duplicate a CURLU handle .SH SYNOPSIS .B #include <curl/curl.h> CURLU *curl_url_dup(CURLU *inhandle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_get.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_get 3 "September 25, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_url_get - extract a part from a URL .SH SYNOPSIS .B #include <curl/curl.h> .nf |
︙ | ︙ | |||
73 74 75 76 77 78 79 | normalized and possibly cleaned up version of what was previously parsed. .IP CURLUPART_SCHEME Scheme cannot be URL decoded on get. .IP CURLUPART_USER .IP CURLUPART_PASSWORD .IP CURLUPART_OPTIONS .IP CURLUPART_HOST | | | > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | normalized and possibly cleaned up version of what was previously parsed. .IP CURLUPART_SCHEME Scheme cannot be URL decoded on get. .IP CURLUPART_USER .IP CURLUPART_PASSWORD .IP CURLUPART_OPTIONS .IP CURLUPART_HOST The host name. If it is an IPv6 numeric address, the zoneid will not be part of it but is provided separately in \fICURLUPART_ZONEID\fP. IPv6 numerical addresses are returned within brackets ([]). .IP CURLUPART_ZONEID If the host name is a numeric IPv6 address, this field might also be set. .IP CURLUPART_PORT Port cannot be URL decoded on get. .IP CURLUPART_PATH .IP CURLUPART_QUERY The query part will also get pluses converted to space when asked to URL |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_set.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_set 3 "September 25, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_url_set - set a URL part .SH SYNOPSIS .B #include <curl/curl.h> CURLUcode curl_url_set(CURLU *url, |
︙ | ︙ | |||
57 58 59 60 61 62 63 | pointer. .IP CURLUPART_SCHEME Scheme cannot be URL decoded on set. .IP CURLUPART_USER .IP CURLUPART_PASSWORD .IP CURLUPART_OPTIONS .IP CURLUPART_HOST | | | > | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | pointer. .IP CURLUPART_SCHEME Scheme cannot be URL decoded on set. .IP CURLUPART_USER .IP CURLUPART_PASSWORD .IP CURLUPART_OPTIONS .IP CURLUPART_HOST The host name. If it is IDNA the string must then be encoded as your locale says or UTF-8 (when WinIDN is used). If it is a bracketed IPv6 numeric address it may contain a zone id (or you can use CURLUPART_ZONEID). .IP CURLUPART_ZONEID If the host name is a numeric IPv6 address, this field can also be set. .IP CURLUPART_PORT Port cannot be URL encoded on set. The given port number is provided as a string and the decimal number must be between 1 and 65535. Anything else will return an error. .IP CURLUPART_PATH |
︙ | ︙ | |||
108 109 110 111 112 113 114 115 116 117 118 119 120 121 | option if both are set. .IP CURLU_GUESS_SCHEME If set, will make libcurl allow the URL to be set without a scheme and it instead "guesses" which scheme that was intended based on the host name. If the outermost sub-domain name matches DICT, FTP, IMAP, LDAP, POP3 or SMTP then that scheme will be used, otherwise it picks HTTP. Conflicts with the \fICURLU_DEFAULT_SCHEME\fP option which takes precedence if both are set. .SH RETURN VALUE Returns a CURLUcode error value, which is CURLUE_OK (0) if everything went fine. If this function returns an error, no URL part is returned. .SH EXAMPLE .nf | > > > > > > | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | option if both are set. .IP CURLU_GUESS_SCHEME If set, will make libcurl allow the URL to be set without a scheme and it instead "guesses" which scheme that was intended based on the host name. If the outermost sub-domain name matches DICT, FTP, IMAP, LDAP, POP3 or SMTP then that scheme will be used, otherwise it picks HTTP. Conflicts with the \fICURLU_DEFAULT_SCHEME\fP option which takes precedence if both are set. .IP CURLU_NO_AUTHORITY If set, skips authority checks. The RFC allows individual schemes to omit the host part (normally the only mandatory part of the authority), but libcurl cannot know whether this is permitted for custom schemes. Specifying the flag permits empty authority sections, similar to how file scheme is handled. .SH RETURN VALUE Returns a CURLUcode error value, which is CURLUE_OK (0) if everything went fine. If this function returns an error, no URL part is returned. .SH EXAMPLE .nf |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_version.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_version 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_version - returns the libcurl version string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_version( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_version_info.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_version_info 3 "August 13, 2019" "libcurl 7.67.0" "libcurl Manual" .SH NAME curl_version_info - returns run-time libcurl version info .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "curl_version_info_data *curl_version_info( CURLversion "age ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-easy.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl 3 "February 03, 2016" "libcurl 7.67.0" "libcurl easy interface" .SH NAME libcurl-easy \- easy interface overview .SH DESCRIPTION When using libcurl's "easy" interface you init your session and get a handle (often referred to as an "easy handle"), which you use as input to the easy interface functions you use. Use \fIcurl_easy_init(3)\fP to get the handle. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-env.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl-env 3 "April 17, 2018" "libcurl 7.67.0" "libcurl environment variables" .SH NAME libcurl-env \- environment variables libcurl understands .SH DESCRIPTION libcurl reads and understands a set of environment variables that if set will control and change behaviors. This is the full list of variables to set and description of what they do. Also note that curl, the command line tool, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-errors.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-errors 3 "October 31, 2019" "libcurl 7.67.0" "libcurl errors" .SH NAME libcurl-errors \- error codes in libcurl .SH DESCRIPTION This man page includes most, if not all, available error codes in libcurl. Why they occur and possibly what you can do to fix the problem are also included. .SH "CURLcode" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-multi.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-multi 3 "October 31, 2019" "libcurl 7.67.0" "libcurl multi interface" .SH NAME libcurl-multi \- how to use the multi interface .SH DESCRIPTION This is an overview on how to use the libcurl multi interface in your C programs. There are specific man pages for each function mentioned in here. There's also the \fIlibcurl-tutorial(3)\fP man page for a complete |
︙ | ︙ | |||
94 95 96 97 98 99 100 | wait for input on your own private file descriptors at the same time \fIcurl_multi_timeout(3)\fP also helps you with providing a suitable timeout period for your select() calls. \fIcurl_multi_perform(3)\fP stores the number of still running transfers in one of its input arguments, and by reading that you can figure out when all the transfers in the multi handles are done. 'done' does not mean | | < | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | wait for input on your own private file descriptors at the same time \fIcurl_multi_timeout(3)\fP also helps you with providing a suitable timeout period for your select() calls. \fIcurl_multi_perform(3)\fP stores the number of still running transfers in one of its input arguments, and by reading that you can figure out when all the transfers in the multi handles are done. 'done' does not mean successful. One or more of the transfers may have failed. To get information about completed transfers, to figure out success or not and similar, \fIcurl_multi_info_read(3)\fP should be called. It can return a message about a current or previous transfer. Repeated invokes of the function get more messages until the message queue is empty. The information you receive there includes an easy handle pointer which you may use to identify which easy handle the information regards. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-security.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-security 3 "July 16, 2019" "libcurl 7.67.0" "libcurl security" .SH NAME libcurl-security \- security considerations when using libcurl .SH "Security" The libcurl project takes security seriously. The library is written with caution and precautions are taken to mitigate many kinds of risks encountered while operating with potentially malicious servers on the Internet. It is a |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-share.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl-share 3 "November 27, 2017" "libcurl 7.67.0" "libcurl share interface" .SH NAME libcurl-share \- how to use the share interface .SH DESCRIPTION This is an overview on how to use the libcurl share interface in your C programs. There are specific man pages for each function mentioned in here. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-symbols.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl-symbols 3 "nov 6, 2019" "libcurl 7.41.0" "libcurl symbols" .SH NAME libcurl-symbols \- libcurl symbol version information .SH "libcurl symbols" This man page details version information for public symbols provided in the libcurl header files. This lists the first version in which the symbol was introduced and for some symbols two additional information pieces: |
︙ | ︙ | |||
699 700 701 702 703 704 705 706 707 708 709 710 711 712 | Introduced in 7.16.3 .IP CURLMOPT_MAX_HOST_CONNECTIONS Introduced in 7.30.0 .IP CURLMOPT_MAX_PIPELINE_LENGTH Introduced in 7.30.0 .IP CURLMOPT_MAX_TOTAL_CONNECTIONS Introduced in 7.30.0 .IP CURLMOPT_PIPELINING Introduced in 7.16.0 .IP CURLMOPT_PIPELINING_SERVER_BL Introduced in 7.30.0 .IP CURLMOPT_PIPELINING_SITE_BL Introduced in 7.30.0 .IP CURLMOPT_PUSHDATA | > > | 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 | Introduced in 7.16.3 .IP CURLMOPT_MAX_HOST_CONNECTIONS Introduced in 7.30.0 .IP CURLMOPT_MAX_PIPELINE_LENGTH Introduced in 7.30.0 .IP CURLMOPT_MAX_TOTAL_CONNECTIONS Introduced in 7.30.0 .IP CURLMOPT_MAX_CONCURRENT_STREAMS Introduced in 7.67.0 .IP CURLMOPT_PIPELINING Introduced in 7.16.0 .IP CURLMOPT_PIPELINING_SERVER_BL Introduced in 7.30.0 .IP CURLMOPT_PIPELINING_SITE_BL Introduced in 7.30.0 .IP CURLMOPT_PUSHDATA |
︙ | ︙ | |||
1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 | Introduced in 7.62.0 .IP CURLU_GUESS_SCHEME Introduced in 7.62.0 .IP CURLU_NON_SUPPORT_SCHEME Introduced in 7.62.0 .IP CURLU_NO_DEFAULT_PORT Introduced in 7.62.0 .IP CURLU_PATH_AS_IS Introduced in 7.62.0 .IP CURLU_URLDECODE Introduced in 7.62.0 .IP CURLU_URLENCODE Introduced in 7.62.0 .IP CURLVERSION_FIFTH | > > | 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 | Introduced in 7.62.0 .IP CURLU_GUESS_SCHEME Introduced in 7.62.0 .IP CURLU_NON_SUPPORT_SCHEME Introduced in 7.62.0 .IP CURLU_NO_DEFAULT_PORT Introduced in 7.62.0 .IP CURLU_NO_AUTHORITY Introduced in 7.67.0 .IP CURLU_PATH_AS_IS Introduced in 7.62.0 .IP CURLU_URLDECODE Introduced in 7.62.0 .IP CURLU_URLENCODE Introduced in 7.62.0 .IP CURLVERSION_FIFTH |
︙ | ︙ | |||
1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 | Introduced in 7.57.0 .IP CURL_VERSION_CONV Introduced in 7.15.4 .IP CURL_VERSION_CURLDEBUG Introduced in 7.19.6 .IP CURL_VERSION_DEBUG Introduced in 7.10.6 .IP CURL_VERSION_GSSAPI Introduced in 7.38.0 .IP CURL_VERSION_GSSNEGOTIATE Introduced in 7.10.6 Deprecated since 7.38.0 .IP CURL_VERSION_HTTP2 Introduced in 7.33.0 | > > | 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 | Introduced in 7.57.0 .IP CURL_VERSION_CONV Introduced in 7.15.4 .IP CURL_VERSION_CURLDEBUG Introduced in 7.19.6 .IP CURL_VERSION_DEBUG Introduced in 7.10.6 .IP CURL_VERSION_ESNI Introduced in 7.67.0 .IP CURL_VERSION_GSSAPI Introduced in 7.38.0 .IP CURL_VERSION_GSSNEGOTIATE Introduced in 7.10.6 Deprecated since 7.38.0 .IP CURL_VERSION_HTTP2 Introduced in 7.33.0 |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-thread.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-thread 3 "June 30, 2019" "libcurl 7.67.0" "libcurl thread safety" .SH NAME libcurl-thread \- libcurl thread safety .SH "Multi-threading with libcurl" libcurl is thread safe but has no internal thread synchronization. You may have to provide your own locking should you meet any of the thread safety exceptions below. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-tutorial.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-tutorial 3 "October 31, 2019" "libcurl 7.67.0" "libcurl programming" .SH NAME libcurl-tutorial \- libcurl programming tutorial .SH "Objective" This document attempts to describe the general principles and some basic approaches to consider when programming with libcurl. The text will focus mainly on the C interface but might apply fairly well on other interfaces as |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-url.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl 3 "September 10, 2018" "libcurl 7.67.0" "libcurl url interface" .SH NAME libcurl-url \- URL interface overview .SH DESCRIPTION The URL interface provides a set of functions for parsing and generating URLs. .SH INCLUDE You still only include <curl/curl.h> in your code. Note that the URL API was |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl 3 "July 15, 2017" "libcurl 7.67.0" "libcurl overview" .SH NAME libcurl \- client-side URL transfers .SH DESCRIPTION This is a short overview on how to use libcurl in your C programs. There are specific man pages for each function mentioned in here. There are also the \fIlibcurl-easy(3)\fP man page, the \fIlibcurl-multi(3)\fP man page, the |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_ACTIVESOCKET \- get the active socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_ACTIVESOCKET, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_APPCONNECT_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_APPCONNECT_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_APPCONNECT_TIME_T \- get the time until the SSL/SSH handshake is completed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CERTINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CERTINFO 3 "November 07, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CERTINFO \- get the TLS certificate chain .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CERTINFO, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONDITION_UNMET \- get info on unmet time conditional .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONDITION_UNMET, long *unmet); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONNECT_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONNECT_TIME \- get the time until connect .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONNECT_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONNECT_TIME_T \- get the time until connect .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD_T, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_TYPE \- get Content-Type .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_TYPE, char **ct); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_COOKIELIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_COOKIELIST \- get all known cookies .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_EFFECTIVE_URL \- get the last used URL .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_EFFECTIVE_URL, char **urlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FILETIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FILETIME \- get the remote time of the retrieved document .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME, long *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FILETIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FILETIME_T \- get the remote time of the retrieved document .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FTP_ENTRY_PATH, char **path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HEADER_SIZE \- get size of retrieved headers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HEADER_SIZE, long *sizep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTPAUTH_AVAIL, long *authp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_CONNECTCODE, long *p); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTP_VERSION 3 "August 07, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTP_VERSION \- get the http version used in the connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_VERSION, long *p); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LASTSOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LASTSOCKET \- get the last socket used .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LASTSOCKET, long *socket); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LOCAL_IP.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LOCAL_IP \- get local IP address of last connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_IP, char **ip); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LOCAL_PORT \- get the latest local port number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_PORT, long *portp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NAMELOOKUP_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NAMELOOKUP_TIME \- get the name lookup time .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NAMELOOKUP_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NAMELOOKUP_TIME_T \- get the name lookup time in microseconds .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NUM_CONNECTS \- get number of created connections .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NUM_CONNECTS, long *nump); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_OS_ERRNO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_OS_ERRNO 3 "November 07, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_OS_ERRNO \- get errno number from last connect failure .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_OS_ERRNO, long *errnop); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRETRANSFER_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRETRANSFER_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRETRANSFER_TIME_T \- get the time until the file transfer start .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIMARY_IP \- get IP address of last connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_IP, char **ip); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIMARY_PORT \- get the latest destination port number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_PORT, long *portp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIVATE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIVATE \- get the private pointer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIVATE, char **private); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROTOCOL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROTOCOL \- get the protocol used in the connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROTOCOL, long *p); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXYAUTH_AVAIL, long *authp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROXY_SSL_VERIFYRESULT \- get the result of the proxy certificate verification .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXY_SSL_VERIFYRESULT, long *result); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_COUNT \- get the number of redirects .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_COUNT, long *countp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_TIME 3 "May 17, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_TIME \- get the time for all redirection steps .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_TIME_T \- get the time for all redirection steps .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_URL \- get the URL a redirect would go to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_URL, char **urlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REQUEST_SIZE \- get size of sent request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REQUEST_SIZE, long *sizep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RESPONSE_CODE \- get the last response code .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RESPONSE_CODE, long *codep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RETRY_AFTER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RETRY_AFTER 3 "August 06, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RETRY_AFTER \- returns the Retry-After retry delay .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RETRY_AFTER, curl_off_t *retry); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CLIENT_CSEQ, long *cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CSEQ_RECV, long *cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SERVER_CSEQ, long *cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_SESSION_ID \- get RTSP session ID .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SESSION_ID, char **id); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SCHEME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SCHEME \- get the URL scheme (sometimes called protocol) used in the connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SCHEME, char **scheme); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD, double *dlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD_T, curl_off_t *dlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD, double *uploadp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD_T, curl_off_t *uploadp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_DOWNLOAD \- get download speed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD, double *speed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_DOWNLOAD_T \- get download speed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD_T, curl_off_t *speed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_UPLOAD \- get upload speed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD, double *speed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_UPLOAD_T \- get upload speed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD_T, curl_off_t *speed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_ENGINES, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_VERIFYRESULT, long *result); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_STARTTRANSFER_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_STARTTRANSFER_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_STARTTRANSFER_TIME_T \- get the time until the first byte is received .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TLS_SESSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_TLS_SESSION \- get TLS session info .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TLS_SSL_PTR 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_TLS_SESSION, CURLINFO_TLS_SSL_PTR \- get TLS session info .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TOTAL_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_TOTAL_TIME \- get total time of previous transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TOTAL_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options" .SH NAME CURLINFO_TOTAL_TIME_T \- get total time of previous transfer in microseconds .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAXCONNECTS 3 "September 23, 2018" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAXCONNECTS \- set size of connection cache .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAXCONNECTS, long max); |
︙ | ︙ |
Added jni/curl/docs/libcurl/opts/CURLMOPT_MAX_CONCURRENT_STREAMS.3.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_CONCURRENT_STREAMS 3 "06 Nov 2019" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_CONCURRENT_STREAMS \- set max concurrent streams for http2 .SH SYNOPSIS .nf #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_CONCURRENT_STREAMS, long max); .fi .SH DESCRIPTION Pass a long indicating the \fBmax\fP. The set number will be used as the maximum number of concurrent streams for a connections that libcurl should support on connections done using HTTP/2. Valid values range from 1 to 2147483647 (2^31 - 1) and defaults to 100. The value passed here would be honoured based on other system resources properties. .SH DEFAULT 100 .SH PROTOCOLS All .SH EXAMPLE .nf CURLM *m = curl_multi_init(); /* max concurrent streams 200 */ curl_multi_setopt(m, CURLMOPT_MAX_CONCURRENT_STREAMS, 200L); .fi .SH AVAILABILITY Added in 7.67.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_MAXCONNECTS "(3), " CURLMOPT_MAXCONNECTS "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_HOST_CONNECTIONS, long max); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH, long max); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_TOTAL_CONNECTIONS, long amount); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING_SERVER_BL 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SERVER_BL, char **servers); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING_SITE_BL 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SITE_BL, char **hosts); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PUSHDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PUSHDATA \- pointer to pass to push callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PUSHFUNCTION \- callback that approves or denies server pushes .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_SOCKETDATA \- custom pointer passed to the socket callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_SOCKETFUNCTION 3 "June 24, 2019" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_SOCKETFUNCTION \- callback informed about what to wait for .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_TIMERDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_TIMERDATA \- custom pointer to pass to timer callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_TIMERFUNCTION 3 "May 03, 2019" "libcurl 7.67.0" "curl_multi_setopt options" .SH NAME CURLMOPT_TIMERFUNCTION \- set callback to receive timeout values .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_ABSTRACT_UNIX_SOCKET \- set an abstract Unix domain socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ABSTRACT_UNIX_SOCKET, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPTTIMEOUT_MS, long ms); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ACCEPT_ENCODING 3 "August 27, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPT_ENCODING, char *enc); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ADDRESS_SCOPE 3 "March 07, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_ADDRESS_SCOPE \- set scope id for IPv6 addresses .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ADDRESS_SCOPE, long scope); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ALTSVC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ALTSVC 3 "August 14, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_ALTSVC \- set alt-svc cache file name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ALTSVC_CTRL 3 "August 13, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_ALTSVC_CTRL \- control alt-svc behavior .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_APPEND.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_APPEND \- enable appending to the remote file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_APPEND, long append); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_AUTOREFERER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_AUTOREFERER \- automatically update the referer header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_AUTOREFERER, long autorefer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_BUFFERSIZE \- set preferred receive buffer size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CAINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAINFO 3 "June 10, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAINFO, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CAPATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CAPATH \- specify directory holding CA certificates .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAPATH, char *capath); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CERTINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CERTINFO 3 "January 29, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CERTINFO \- request SSL certificate information .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CERTINFO, long certinfo); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 03, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_BGN_FUNCTION \- callback before a transfer with FTP wildcardmatch .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_DATA 3 "November 07, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_DATA \- custom pointer to the FTP chunk callbacks .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_DATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_END_FUNCTION \- callback after a transfer with FTP wildcardmatch .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CLOSESOCKETDATA 3 "November 07, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CLOSESOCKETDATA \- pointer passed to the socket close callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CLOSESOCKETFUNCTION 3 "November 07, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CLOSESOCKETFUNCTION \- callback to socket close replacement function .SH SYNOPSIS #include <curl/curl.h> int closesocket_callback(void *clientp, curl_socket_t item); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECTTIMEOUT \- timeout for the connect phase .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECTTIMEOUT_MS \- timeout for the connect phase .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT_MS, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECT_ONLY 3 "February 18, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECT_ONLY \- stop when connected to target server .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_ONLY, long only); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECT_TO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECT_TO 3 "May 05, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECT_TO \- Connect to a specific host and port instead of the URL's host and port .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONV_FROM_NETWORK_FUNCTION \- convert data from network to host encoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONV_FROM_UTF8_FUNCTION \- convert data from UTF8 to host encoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONV_TO_NETWORK_FUNCTION \- convert data to network from host encoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIE \- set contents of HTTP Cookie header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIE, char *cookie); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIEFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIEFILE \- file name to read cookies from .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEFILE, char *filename); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIEJAR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIEJAR \- file name to store cookies to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEJAR, char *filename); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIELIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIELIST \- add to or manipulate cookies held in memory .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIESESSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIESESSION \- start a new cookie session .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIESESSION, long init); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_COPYPOSTFIELDS \- have libcurl copy data to POST .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COPYPOSTFIELDS, char *data); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CRLF.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CRLF \- enable/disable CRLF conversion .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLF, long conv); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CRLFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CRLFILE \- specify a Certificate Revocation List file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLFILE, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CURLU.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CURLU 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CURLU \- set URL with CURLU * .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CURLU, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CUSTOMREQUEST 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_CUSTOMREQUEST \- custom string for request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CUSTOMREQUEST, char *request); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DEBUGDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DEBUGDATA \- custom pointer for debug callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DEBUGFUNCTION \- debug callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DEFAULT_PROTOCOL \- default protocol to use if the URL is missing a scheme name .SH SYNOPSIS #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DIRLISTONLY \- ask for names only in a directory listing .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DIRLISTONLY, long listonly); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DISALLOW_USERNAME_IN_URL 3 "February 25, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DISALLOW_USERNAME_IN_URL \- disallow specifying username in the url .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DISALLOW_USERNAME_IN_URL, long disallow); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_CACHE_TIMEOUT \- set life-time for DNS cache entries .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_CACHE_TIMEOUT, long age); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_INTERFACE \- set interface to speak DNS over .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_INTERFACE, char *ifname); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_LOCAL_IP4 \- IPv4 address to bind DNS resolves to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP4, char *address); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_LOCAL_IP6 \- IPv6 address to bind DNS resolves to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP6, char *address); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_SERVERS \- set preferred DNS servers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_SERVERS, char *servers); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "March 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_SHUFFLE_ADDRESSES \- Shuffle addresses when a hostname returns more than one .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "March 07, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_USE_GLOBAL_CACHE \- enable/disable global DNS cache .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_USE_GLOBAL_CACHE, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DOH_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DOH_URL 3 "September 06, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_DOH_URL \- provide the DNS-over-HTTPS URL .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DOH_URL, char *URL); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_EGDSOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_EGDSOCKET \- set EGD socket path .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EGDSOCKET, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ERRORBUFFER 3 "March 13, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_ERRORBUFFER \- set error buffer for error messages .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ERRORBUFFER, char *buf); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_EXPECT_100_TIMEOUT_MS \- timeout for Expect: 100-continue response .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FAILONERROR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FAILONERROR 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FAILONERROR \- request failure on HTTP response >= 400 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FAILONERROR, long fail); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FILETIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FILETIME \- get the modification time of the remote resource .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FILETIME, long gettime); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FNMATCH_DATA \- custom pointer to fnmatch callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FNMATCH_FUNCTION \- wildcard matching function callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FOLLOWLOCATION 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FORBID_REUSE \- make connection get closed at once after use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FORBID_REUSE, long close); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FRESH_CONNECT \- force a new connection to be used .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FRESH_CONNECT, long fresh); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTPPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTPPORT \- make FTP transfer active .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPPORT, char *spec); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTPSSLAUTH \- set order in which to attempt TLS vs SSL when using FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPSSLAUTH, long order); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_ACCOUNT \- set account info for FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ACCOUNT, char *account); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_ALTERNATIVE_TO_USER \- command to use instead of USER with FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_CREATE_MISSING_DIRS \- create missing dirs for FTP and SFTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_FILEMETHOD \- select directory traversing method for FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_RESPONSE_TIMEOUT \- time allowed to wait for FTP response .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_RESPONSE_TIMEOUT, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_SKIP_PASV_IP \- ignore the IP address in the PASV response .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SKIP_PASV_IP, long skip); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SSL_CCC, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_EPRT \- enable/disable use of EPRT with FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPRT, long enabled); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_EPSV \- enable/disable use of EPSV .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPSV, long epsv); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_PRET \- enable the PRET command .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_PRET, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_GSSAPI_DELEGATION \- set allowed GSS-API delegation .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_GSSAPI_DELEGATION, long level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS \- head start for ipv6 for happy eyeballs .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HAPROXYPROTOCOL 3 "May 18, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol v1 header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPROXYPROTOCOL, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADER 3 "October 03, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADER \- pass headers to the data stream .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADER, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADERDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADERDATA \- pointer to pass to header callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADERFUNCTION 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADERFUNCTION \- callback that receives header data .SH SYNOPSIS #include <curl/curl.h> size_t header_callback(char *buffer, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADEROPT.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADEROPT 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADEROPT \- set how to send HTTP headers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADEROPT, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP09_ALLOWED 3 "August 05, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP09 \- allow HTTP/0.9 response .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP09_ALLOWED, long allowed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP200ALIASES \- specify alternative matches for HTTP 200 OK .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPAUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPAUTH 3 "June 15, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPGET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPGET 3 "May 21, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPGET \- ask for an HTTP GET request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPGET, long useget); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPHEADER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPHEADER 3 "December 30, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPHEADER \- set custom HTTP headers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPHEADER, struct curl_slist *headers); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPPOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPPOST \- specify the multipart formpost content .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPPROXYTUNNEL 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPROXYTUNNEL, long tunnel); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_CONTENT_DECODING \- enable/disable HTTP content decoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_TRANSFER_DECODING \- enable/disable HTTP transfer decoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_VERSION 3 "September 14, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_VERSION, long version); |
︙ | ︙ | |||
59 60 61 62 63 64 65 | will still do HTTP/2 the standard way with negotiated protocol version in the TLS handshake. (Added in 7.49.0) .IP CURL_HTTP_VERSION_3 (Added in 7.66.0) Setting this value will make libcurl attempt to use HTTP/3 directly to server given in the URL. Note that this cannot gracefully downgrade to earlier HTTP version if the server doesn't support HTTP/3. | | | 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | will still do HTTP/2 the standard way with negotiated protocol version in the TLS handshake. (Added in 7.49.0) .IP CURL_HTTP_VERSION_3 (Added in 7.66.0) Setting this value will make libcurl attempt to use HTTP/3 directly to server given in the URL. Note that this cannot gracefully downgrade to earlier HTTP version if the server doesn't support HTTP/3. For more reliably upgrading to HTTP/3, set the preferred version to something lower and let the server announce its HTTP/3 support via Alt-Svc:. See \fICURLOPT_ALTSVC(3)\fP. .SH DEFAULT Since curl 7.62.0: CURL_HTTP_VERSION_2TLS Before that: CURL_HTTP_VERSION_1_1 .SH PROTOCOLS |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_IGNORE_CONTENT_LENGTH \- ignore content length .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INFILESIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_INFILESIZE \- set size of the input file to send off .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE, long filesize); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INFILESIZE_LARGE 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_INFILESIZE_LARGE \- set size of the input file to send off .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERFACE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERFACE 3 "June 18, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERFACE \- source interface for outgoing traffic .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERFACE, char *interface); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERLEAVEDATA \- custom pointer passed to RTSP interleave callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERLEAVEDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERLEAVEFUNCTION 3 "August 11, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERLEAVEFUNCTION \- callback function for RTSP interleaved data .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IOCTLDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_IOCTLDATA \- custom pointer passed to I/O callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IOCTLFUNCTION 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_IOCTLFUNCTION \- callback for I/O operations .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IPRESOLVE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_IPRESOLVE \- specify which IP protocol version to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IPRESOLVE, long resolve); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ISSUERCERT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_ISSUERCERT \- issuer SSL certificate filename .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ISSUERCERT, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_KEEP_SENDING_ON_ERROR \- keep sending on early HTTP response >= 300 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEEP_SENDING_ON_ERROR, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KEYPASSWD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_KEYPASSWD \- set passphrase to private key .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEYPASSWD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KRBLEVEL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_KRBLEVEL \- set FTP kerberos security level .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KRBLEVEL, char *level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOCALPORT.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOCALPORT 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOCALPORT \- set local port number to use for socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORT, long port); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOCALPORTRANGE 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOCALPORTRANGE \- number of additional local ports to try .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORTRANGE, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOGIN_OPTIONS \- set login options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOGIN_OPTIONS, char *options); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOW_SPEED_LIMIT \- set low speed limit in bytes per second .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_LIMIT, long speedlimit); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOW_SPEED_TIME \- set low speed limit time period .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_TIME, long speedtime); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_AUTH \- SMTP authentication address .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_AUTH, char *auth); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_FROM.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_FROM \- SMTP sender address .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_FROM, char *from); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_RCPT 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_RCPT \- list of SMTP mail recipients .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXAGE_CONN.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXAGE_CONN 3 "April 14, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXAGE_CONN \- max idle time allowed for reusing a connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXAGE_CONN, long maxage); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXCONNECTS \- maximum connection cache size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXCONNECTS, long amount); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXFILESIZE \- maximum file size allowed to download .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXFILESIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXFILESIZE_LARGE \- maximum file size allowed to download .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXREDIRS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXREDIRS \- maximum number of redirects allowed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXREDIRS, long amount); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAX_RECV_SPEED_LARGE \- rate limit data download speed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAX_SEND_SPEED_LARGE \- rate limit data upload speed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MIMEPOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_MIMEPOST \- set post/send data from mime structure .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NETRC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NETRC 3 "November 03, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_NETRC \- request that .netrc is used .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC, long level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NETRC_FILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_NETRC_FILE \- file name to read .netrc info from .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC_FILE, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_NEW_DIRECTORY_PERMS \- permissions for remotely created directories .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_NEW_FILE_PERMS \- permissions for remotely created files .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOBODY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOBODY \- do the download request without getting the body .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOBODY, long opt); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOPROGRESS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOPROGRESS \- switch off the progress meter .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROGRESS, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOPROXY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOPROXY 3 "August 24, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOPROXY \- disable proxy use for specific hosts .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROXY, char *noproxy); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOSIGNAL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOSIGNAL \- skip all signal handling .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOSIGNAL, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_OPENSOCKETDATA \- custom pointer passed to open socket callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_OPENSOCKETFUNCTION \- set callback for opening sockets .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PASSWORD 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PASSWORD \- password to use in authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PATH_AS_IS 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PATH_AS_IS \- do not handle dot dot sequences .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PATH_AS_IS, long leaveit); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PINNEDPUBLICKEY 3 "June 02, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PINNEDPUBLICKEY \- set pinned public key .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PINNEDPUBLICKEY, char *pinnedpubkey); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PIPEWAIT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PIPEWAIT \- wait for pipelining/multiplexing .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PIPEWAIT, long wait); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PORT \- set remote port number to work with .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PORT, long number); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POST 3 "July 22, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_POST \- request an HTTP POST .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POST, long post); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDS 3 "May 21, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDS \- specify data to POST to server .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDS, char *postdata); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDSIZE \- size of POST data pointed to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDSIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDSIZE_LARGE \- size of POST data pointed to .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTQUOTE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTQUOTE \- (S)FTP commands to run after the transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTQUOTE, struct curl_slist *cmds); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTREDIR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTREDIR 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTREDIR \- how to act on an HTTP POST redirect .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PREQUOTE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PREQUOTE \- commands to run before an FTP transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PREQUOTE, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PRE_PROXY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PRE_PROXY 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PRE_PROXY \- set pre-proxy to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PRE_PROXY, char *preproxy); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PRIVATE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PRIVATE \- store a private pointer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PRIVATE, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROGRESSDATA \- custom pointer passed to the progress callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROGRESSFUNCTION \- callback to progress meter function .SH SYNOPSIS #include <curl/curl.h> int progress_callback(void *clientp, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROTOCOLS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROTOCOLS \- set allowed protocols .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROTOCOLS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY 3 "August 24, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY \- set proxy to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY, char *proxy); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYAUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYAUTH \- set HTTP proxy authentication methods to try .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYAUTH, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYHEADER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYHEADER \- custom HTTP headers to pass to proxy .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYPASSWORD \- password to use with proxy authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYPORT \- port number the proxy listens on .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPORT, long port); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYTYPE \- proxy protocol type .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYTYPE, long type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYUSERNAME \- user name to use for proxy authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYUSERPWD \- user name and password to use for proxy authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYUSERPWD, char *userpwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CAINFO 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAINFO, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CAPATH 3 "May 15, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CAPATH \- specify directory holding proxy CA certificates .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAPATH, char *capath); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CRLFILE 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CRLFILE \- specify a proxy Certificate Revocation List file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CRLFILE, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_KEYPASSWD 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_KEYPASSWD \- set passphrase to proxy private key .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_KEYPASSWD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 15, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_PINNEDPUBLICKEY \- set pinned public key for https proxy .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_PINNEDPUBLICKEY, char *pinnedpubkey); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SERVICE_NAME \- proxy authentication service name .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SERVICE_NAME, char *name); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLCERT 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLCERT \- set SSL proxy client certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLCERT, char *cert); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLCERTTYPE 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLCERTTYPE \- specify type of the proxy client SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLCERTTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLKEY \- specify private keyfile for TLS and SSL proxy client cert .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLKEY, char *keyfile); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLKEYTYPE 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLKEYTYPE \- set type of the proxy private key file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLKEYTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, 2018, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLVERSION 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLVERSION \- set preferred proxy TLS/SSL version .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLVERSION, long version); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_CIPHER_LIST \- specify ciphers to use for proxy TLS .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_CIPHER_LIST, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_OPTIONS \- set proxy SSL behavior options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_OPTIONS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "August 20, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_VERIFYHOST \- verify the proxy certificate's name against host .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_VERIFYHOST, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_VERIFYPEER \- verify the proxy's SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_VERIFYPEER, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLS13_CIPHERS 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLS13_CIPHERS \- ciphers suites for proxy TLS 1.3 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLS13_CIPHERS, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_PASSWORD \- password to use for proxy TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_PASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_TYPE \- set proxy TLS authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_TYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_USERNAME \- user name to use for proxy TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_USERNAME, char *user); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TRANSFER_MODE 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TRANSFER_MODE, long enabled); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PUT 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_PUT \- make an HTTP PUT request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PUT, long put); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_QUOTE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_QUOTE 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_QUOTE \- (S)FTP commands to run before transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_QUOTE, struct curl_slist *cmds); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RANDOM_FILE \- specify a source for random data .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANDOM_FILE, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RANGE.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RANGE 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RANGE \- set byte range to request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANGE, char *range); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_READDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_READDATA 3 "August 11, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_READDATA \- custom pointer passed to the read callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_READDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_READFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_READFUNCTION 3 "August 12, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_READFUNCTION \- read callback for data uploads .SH SYNOPSIS #include <curl/curl.h> size_t read_callback(char *buffer, size_t size, size_t nitems, void *userdata); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REDIR_PROTOCOLS 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_REDIR_PROTOCOLS \- set protocols allowed to redirect to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REFERER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_REFERER \- set the HTTP referer header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REFERER, char *where); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_REQUEST_TARGET \- specify an alternative target for this request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REQUEST_TARGET, string); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESOLVE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVE 3 "May 30, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVE \- provide custom host name to IP address resolves .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVER_START_DATA \- custom pointer passed to the resolver start callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVER_START_DATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVER_START_FUNCTION \- set callback to be called before a new resolve request is started .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESUME_FROM.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESUME_FROM \- set a point to resume transfer from .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM, long from); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESUME_FROM_LARGE \- set a point to resume transfer from .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_CLIENT_CSEQ 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_CLIENT_CSEQ, long cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_REQUEST 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_REQUEST \- specify RTSP request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_REQUEST, long request); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_SERVER_CSEQ \- set the RTSP server CSEQ number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SERVER_CSEQ, long cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_SESSION_ID \- set RTSP session ID .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SESSION_ID, char *id); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_STREAM_URI 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_STREAM_URI \- set RTSP stream URI .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_STREAM_URI, char *URI); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_TRANSPORT \- set RTSP Transport: header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SASL_IR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SASL_IR \- enable sending initial response in first packet .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SASL_IR, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SEEKDATA.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SEEKDATA 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SEEKDATA \- custom pointer passed to the seek callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SEEKDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SEEKFUNCTION 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SERVICE_NAME \- authentication service name .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SERVICE_NAME, char *name); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SHARE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SHARE \- specify share handle to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SHARE, CURLSH *share); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKOPTDATA \- custom pointer to pass to sockopt callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKOPTDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKOPTFUNCTION \- set callback for setting socket options .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_AUTH \- set allowed methods for SOCKS5 proxy authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_AUTH, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_GSSAPI_NEC \- set socks proxy gssapi negotiation protection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_NEC, long nec); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_GSSAPI_SERVICE \- SOCKS5 proxy authentication service name .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_SERVICE, char *name); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_AUTH_TYPES \- set desired auth types for SFTP and SCP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_AUTH_TYPES, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_COMPRESSION 3 "August 10, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_COMPRESSION \- enables compression / decompression of SSH traffic .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_COMPRESSION, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 \- checksum of SSH server public key .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KEYDATA \- pointer to pass to the SSH key callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KEYDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KEYFUNCTION \- callback for known host matching logic .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KNOWNHOSTS \- file name holding the SSH known hosts .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KNOWNHOSTS, char *fname); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_PRIVATE_KEYFILE \- set private key file for SSH auth .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_PUBLIC_KEYFILE \- set public key file for SSH auth .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLCERT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERT 3 "January 29, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERT \- set SSL client certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERT, char *cert); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERTTYPE \- specify type of the client SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERTTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLENGINE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLENGINE \- set SSL engine identifier .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE, char *id); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLENGINE_DEFAULT \- make SSL engine default .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE_DEFAULT, long val); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEY \- specify private keyfile for TLS and SSL client cert .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEY, char *keyfile); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEYTYPE \- set type of the private key file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEYTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLVERSION.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, 2018, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLVERSION 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLVERSION \- set preferred TLS/SSL version .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLVERSION, long version); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CIPHER_LIST \- specify ciphers to use for TLS .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CIPHER_LIST, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CTX_DATA 3 "June 02, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CTX_DATA \- custom pointer passed to ssl_ctx callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_DATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CTX_FUNCTION 3 "June 02, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CTX_FUNCTION \- SSL context callback for OpenSSL, wolfSSL or mbedTLS .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_ENABLE_ALPN \- enable ALPN .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_ALPN, long npn); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_ENABLE_NPN \- enable NPN .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_NPN, long npn); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_FALSESTART \- enable TLS false start .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_FALSESTART, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_OPTIONS \- set SSL behavior options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_OPTIONS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_SESSIONID_CACHE \- enable/disable use of the SSL session-ID cache .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYHOST 3 "August 20, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYHOST \- verify the certificate's name against host .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYHOST, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYPEER 3 "June 24, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYPEER \- verify the peer's SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYPEER, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYSTATUS 3 "October 09, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYSTATUS \- verify the certificate's status .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYSTATUS, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STDERR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_STDERR \- redirect stderr to another stream .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STDERR, FILE *stream); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_DEPENDS \- set stream this transfer depends on .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS, CURL *dephandle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_DEPENDS_E 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on exclusively .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS_E, CURL *dephandle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_WEIGHT 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_WEIGHT \- set numerical stream weight .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_WEIGHT, long weight); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_SUPPRESS_CONNECT_HEADERS \- Suppress proxy CONNECT response headers from user callbacks .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_FASTOPEN \- enable TCP Fast Open .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_FASTOPEN, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPALIVE \- enable TCP keep-alive probing .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPALIVE, long probe); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPIDLE \- set TCP keep-alive idle time wait .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPIDLE, long delay); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPINTVL \- set TCP keep-alive interval .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPINTVL, long interval); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_NODELAY \- set the TCP_NODELAY option .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_NODELAY, long nodelay); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TELNETOPTIONS \- custom telnet options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TELNETOPTIONS, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TFTP_BLKSIZE \- TFTP block size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_BLKSIZE, long blocksize); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TFTP_NO_OPTIONS \- Do not send TFTP options requests. .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_NO_OPTIONS, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMECONDITION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMECONDITION \- select condition for a time request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMECONDITION, long cond); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEOUT.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | | | | | > | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEOUT 3 "October 15, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEOUT \- set maximum time the request is allowed to take .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT, long timeout); .SH DESCRIPTION Pass a long as parameter containing \fItimeout\fP - the maximum time in seconds that you allow the libcurl transfer operation to take. Normally, name lookups can take a considerable time and limiting operations risk aborting perfectly normal operations. This option may cause libcurl to use the SIGALRM signal to timeout system calls. In unix-like systems, this might cause signals to be used unless \fICURLOPT_NOSIGNAL(3)\fP is set. If both \fICURLOPT_TIMEOUT(3)\fP and \fICURLOPT_TIMEOUT_MS(3)\fP are set, the value set last will be used. Since this option puts a hard limit on how long time a request is allowed to take, it has limited use in dynamic use cases with varying transfer times. That is especially apparent when using the multi interface, which may queue the transfer, and that time is included. You are advised to explore \fICURLOPT_LOW_SPEED_LIMIT(3)\fP, \fICURLOPT_LOW_SPEED_TIME(3)\fP or using \fICURLOPT_PROGRESSFUNCTION(3)\fP to implement your own timeout logic. .SH DEFAULT Default timeout is 0 (zero) which means it never times out during transfer. .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEOUT_MS 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEOUT_MS \- set maximum time the request is allowed to take .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT_MS, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEVALUE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEVALUE \- set time value for conditional .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE, long val); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEVALUE_LARGE \- set time value for conditional .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE_LARGE, curl_off_t val); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLS13_CIPHERS 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLS13_CIPHERS \- specify ciphers suites to use for TLS 1.3 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLS13_CIPHERS, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_PASSWORD \- password to use for TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_PASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_TYPE \- set TLS authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_TYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_USERNAME \- user name to use for TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_USERNAME, char *user); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRAILERDATA.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRAILERDATA 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRAILERDATA \- Custom pointer passed to the trailing headers callback .SH SYNOPSIS #include <curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRAILERDATA, void *userdata); .SH DESCRIPTION: Data pointer to be passed to the HTTP trailer callback function. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE .nf /* Assuming we have a CURL handle in the hndl variable. */ struct MyData data; curl_easy_setopt(hndl, CURLOPT_TRAILERDATA, &data); .fi A more complete example can be found in examples/http_trailers.html .SH AVAILABILITY This option was added in curl 7.64.0 and is present if HTTP support is enabled .SH "SEE ALSO" .BR CURLOPT_TRAILERFUNCTION "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRAILERFUNCTION 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRAILERFUNCTION \- Set callback for sending trailing headers .SH SYNOPSIS #include <curl.h> int curl_trailer_callback(struct curl_slist ** list, void *userdata); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRAILERFUNCTION, curl_trailer_callback *func); .SH DESCRIPTION Pass a pointer to a callback function. This callback function will be called once right before sending the final CR LF in an HTTP chunked transfer to fill a list of trailing headers to be sent before finishing the HTTP transfer. You can set the userdata argument with the CURLOPT_TRAILERDATA option. |
︙ | ︙ | |||
53 54 55 56 57 58 59 | The return value can either be CURL_TRAILERFUNC_OK or CURL_TRAILERFUNC_ABORT which would respectively instruct libcurl to either continue with sending the trailers or to abort the request. If you set this option to NULL, then the transfer proceeds as usual without any interruptions. | | | | | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | The return value can either be CURL_TRAILERFUNC_OK or CURL_TRAILERFUNC_ABORT which would respectively instruct libcurl to either continue with sending the trailers or to abort the request. If you set this option to NULL, then the transfer proceeds as usual without any interruptions. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE #include <curl/curl.h> static int trailer_cb(struct curl_slist **tr, void *data) { /* libcurl will free the list */ tr = curl_slist_append(*tr, "My-super-awesome-trailer: trailer-stuff"); return CURL_TRAILERFUNC_OK; |
︙ | ︙ | |||
92 93 94 95 96 97 98 | /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); curl_easy_cleanup(curl); curl_slist_free_all(headers); } | | | 92 93 94 95 96 97 98 99 100 101 102 | /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); curl_easy_cleanup(curl); curl_slist_free_all(headers); } .SH AVAILABILITY This option was added in curl 7.64.0 and is present if HTTP support is enabled .SH "SEE ALSO" .BR CURLOPT_TRAILERDATA "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRANSFERTEXT \- request a text based transfer for FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFERTEXT, long text); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRANSFER_ENCODING \- ask for HTTP Transfer Encoding .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFER_ENCODING, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UNIX_SOCKET_PATH 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_UNIX_SOCKET_PATH \- set Unix domain socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNIX_SOCKET_PATH, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_UNRESTRICTED_AUTH \- send credentials to other hosts too .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UPLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UPLOAD 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_UPLOAD \- enable data upload .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD, long upload); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UPLOAD_BUFFERSIZE 3 "August 18, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_UPLOAD_BUFFERSIZE \- set preferred upload buffer size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD_BUFFERSIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_URL 3 "November 11, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_URL \- provide the URL to use in the request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_URL, char *URL); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USERAGENT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_USERAGENT \- set HTTP user-agent header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERAGENT, char *ua); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_USERNAME \- user name to use in authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USERPWD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_USERPWD \- user name and password to use in authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERPWD, char *userpwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USE_SSL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USE_SSL 3 "October 10, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_USE_SSL \- request using SSL / TLS for the transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USE_SSL, long level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_VERBOSE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_VERBOSE \- set verbose mode on/off .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_VERBOSE, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WILDCARDMATCH 3 "May 18, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_WILDCARDMATCH \- enable directory wildcard transfers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WILDCARDMATCH, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WRITEDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WRITEDATA 3 "August 11, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_WRITEDATA \- custom pointer passed to the write callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WRITEFUNCTION 3 "November 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_WRITEFUNCTION \- set callback for writing received data .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XFERINFODATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_XFERINFODATA \- custom pointer passed to the progress callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFODATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_XFERINFOFUNCTION \- callback to progress meter function .SH SYNOPSIS #include <curl/curl.h> int progress_callback(void *clientp, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XOAUTH2_BEARER 3 "May 22, 2018" "libcurl 7.67.0" "curl_easy_setopt options" .SH NAME CURLOPT_XOAUTH2_BEARER \- specify OAuth 2.0 access token .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XOAUTH2_BEARER, char *token); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/Makefile.in.
︙ | ︙ | |||
460 461 462 463 464 465 466 467 468 469 470 471 472 473 | CURLINFO_TLS_SESSION.3 \ CURLINFO_TLS_SSL_PTR.3 \ CURLINFO_TOTAL_TIME.3 \ CURLINFO_TOTAL_TIME_T.3 \ CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_MAXCONNECTS.3 \ CURLMOPT_MAX_HOST_CONNECTIONS.3 \ CURLMOPT_MAX_PIPELINE_LENGTH.3 \ CURLMOPT_MAX_TOTAL_CONNECTIONS.3 \ CURLMOPT_PIPELINING.3 \ CURLMOPT_PIPELINING_SERVER_BL.3 \ CURLMOPT_PIPELINING_SITE_BL.3 \ CURLMOPT_PUSHDATA.3 \ | > | 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 | CURLINFO_TLS_SESSION.3 \ CURLINFO_TLS_SSL_PTR.3 \ CURLINFO_TOTAL_TIME.3 \ CURLINFO_TOTAL_TIME_T.3 \ CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_MAXCONNECTS.3 \ CURLMOPT_MAX_CONCURRENT_STREAMS.3 \ CURLMOPT_MAX_HOST_CONNECTIONS.3 \ CURLMOPT_MAX_PIPELINE_LENGTH.3 \ CURLMOPT_MAX_TOTAL_CONNECTIONS.3 \ CURLMOPT_PIPELINING.3 \ CURLMOPT_PIPELINING_SERVER_BL.3 \ CURLMOPT_PIPELINING_SITE_BL.3 \ CURLMOPT_PUSHDATA.3 \ |
︙ | ︙ | |||
489 490 491 492 493 494 495 | CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 \ CURLOPT_CHUNK_BGN_FUNCTION.3 \ CURLOPT_CHUNK_DATA.3 \ CURLOPT_CHUNK_END_FUNCTION.3 \ CURLOPT_CLOSESOCKETDATA.3 \ CURLOPT_CLOSESOCKETFUNCTION.3 \ | < | | | 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 | CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 \ CURLOPT_CHUNK_BGN_FUNCTION.3 \ CURLOPT_CHUNK_DATA.3 \ CURLOPT_CHUNK_END_FUNCTION.3 \ CURLOPT_CLOSESOCKETDATA.3 \ CURLOPT_CLOSESOCKETFUNCTION.3 \ CURLOPT_CONNECTTIMEOUT.3 \ CURLOPT_CONNECTTIMEOUT_MS.3 \ CURLOPT_CONNECT_ONLY.3 \ CURLOPT_CONNECT_TO.3 \ CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 \ CURLOPT_CONV_FROM_UTF8_FUNCTION.3 \ CURLOPT_CONV_TO_NETWORK_FUNCTION.3 \ CURLOPT_COOKIE.3 \ CURLOPT_COOKIEFILE.3 \ CURLOPT_COOKIEJAR.3 \ CURLOPT_COOKIELIST.3 \ CURLOPT_COOKIESESSION.3 \ CURLOPT_COPYPOSTFIELDS.3 \ CURLOPT_CRLF.3 \ CURLOPT_CRLFILE.3 \ CURLOPT_CURLU.3 \ CURLOPT_CUSTOMREQUEST.3 \ CURLOPT_DEBUGDATA.3 \ CURLOPT_DEBUGFUNCTION.3 \ CURLOPT_DEFAULT_PROTOCOL.3 \ CURLOPT_DIRLISTONLY.3 \ CURLOPT_DISALLOW_USERNAME_IN_URL.3 \ CURLOPT_DNS_CACHE_TIMEOUT.3 \ CURLOPT_DNS_INTERFACE.3 \ |
︙ | ︙ | |||
560 561 562 563 564 565 566 | CURLOPT_HTTPHEADER.3 \ CURLOPT_HTTPPOST.3 \ CURLOPT_HTTPPROXYTUNNEL.3 \ CURLOPT_HTTP_CONTENT_DECODING.3 \ CURLOPT_HTTP_TRANSFER_DECODING.3 \ CURLOPT_HTTP_VERSION.3 \ CURLOPT_IGNORE_CONTENT_LENGTH.3 \ | < < | 560 561 562 563 564 565 566 567 568 569 570 571 572 573 | CURLOPT_HTTPHEADER.3 \ CURLOPT_HTTPPOST.3 \ CURLOPT_HTTPPROXYTUNNEL.3 \ CURLOPT_HTTP_CONTENT_DECODING.3 \ CURLOPT_HTTP_TRANSFER_DECODING.3 \ CURLOPT_HTTP_VERSION.3 \ CURLOPT_IGNORE_CONTENT_LENGTH.3 \ CURLOPT_INFILESIZE.3 \ CURLOPT_INFILESIZE_LARGE.3 \ CURLOPT_INTERFACE.3 \ CURLOPT_INTERLEAVEDATA.3 \ CURLOPT_INTERLEAVEFUNCTION.3 \ CURLOPT_IOCTLDATA.3 \ CURLOPT_IOCTLFUNCTION.3 \ |
︙ | ︙ | |||
724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 | CURLOPT_TIMEOUT_MS.3 \ CURLOPT_TIMEVALUE.3 \ CURLOPT_TIMEVALUE_LARGE.3 \ CURLOPT_TLS13_CIPHERS.3 \ CURLOPT_TLSAUTH_PASSWORD.3 \ CURLOPT_TLSAUTH_TYPE.3 \ CURLOPT_TLSAUTH_USERNAME.3 \ CURLOPT_TRANSFERTEXT.3 \ CURLOPT_TRANSFER_ENCODING.3 \ CURLOPT_UNIX_SOCKET_PATH.3 \ CURLOPT_UNRESTRICTED_AUTH.3 \ CURLOPT_UPLOAD.3 \ CURLOPT_UPLOAD_BUFFERSIZE.3 \ CURLOPT_URL.3 \ CURLOPT_USERAGENT.3 \ CURLOPT_USERNAME.3 \ CURLOPT_USERPWD.3 \ CURLOPT_USE_SSL.3 \ | > > > | 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 | CURLOPT_TIMEOUT_MS.3 \ CURLOPT_TIMEVALUE.3 \ CURLOPT_TIMEVALUE_LARGE.3 \ CURLOPT_TLS13_CIPHERS.3 \ CURLOPT_TLSAUTH_PASSWORD.3 \ CURLOPT_TLSAUTH_TYPE.3 \ CURLOPT_TLSAUTH_USERNAME.3 \ CURLOPT_TRAILERDATA.3 \ CURLOPT_TRAILERFUNCTION.3 \ CURLOPT_TRANSFERTEXT.3 \ CURLOPT_TRANSFER_ENCODING.3 \ CURLOPT_UNIX_SOCKET_PATH.3 \ CURLOPT_UNRESTRICTED_AUTH.3 \ CURLOPT_UPKEEP_INTERVAL_MS.3 \ CURLOPT_UPLOAD.3 \ CURLOPT_UPLOAD_BUFFERSIZE.3 \ CURLOPT_URL.3 \ CURLOPT_USERAGENT.3 \ CURLOPT_USERNAME.3 \ CURLOPT_USERPWD.3 \ CURLOPT_USE_SSL.3 \ |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/Makefile.inc.
︙ | ︙ | |||
64 65 66 67 68 69 70 71 72 73 74 75 76 77 | CURLINFO_TLS_SESSION.3 \ CURLINFO_TLS_SSL_PTR.3 \ CURLINFO_TOTAL_TIME.3 \ CURLINFO_TOTAL_TIME_T.3 \ CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_MAXCONNECTS.3 \ CURLMOPT_MAX_HOST_CONNECTIONS.3 \ CURLMOPT_MAX_PIPELINE_LENGTH.3 \ CURLMOPT_MAX_TOTAL_CONNECTIONS.3 \ CURLMOPT_PIPELINING.3 \ CURLMOPT_PIPELINING_SERVER_BL.3 \ CURLMOPT_PIPELINING_SITE_BL.3 \ CURLMOPT_PUSHDATA.3 \ | > | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | CURLINFO_TLS_SESSION.3 \ CURLINFO_TLS_SSL_PTR.3 \ CURLINFO_TOTAL_TIME.3 \ CURLINFO_TOTAL_TIME_T.3 \ CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_MAXCONNECTS.3 \ CURLMOPT_MAX_CONCURRENT_STREAMS.3 \ CURLMOPT_MAX_HOST_CONNECTIONS.3 \ CURLMOPT_MAX_PIPELINE_LENGTH.3 \ CURLMOPT_MAX_TOTAL_CONNECTIONS.3 \ CURLMOPT_PIPELINING.3 \ CURLMOPT_PIPELINING_SERVER_BL.3 \ CURLMOPT_PIPELINING_SITE_BL.3 \ CURLMOPT_PUSHDATA.3 \ |
︙ | ︙ | |||
93 94 95 96 97 98 99 | CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 \ CURLOPT_CHUNK_BGN_FUNCTION.3 \ CURLOPT_CHUNK_DATA.3 \ CURLOPT_CHUNK_END_FUNCTION.3 \ CURLOPT_CLOSESOCKETDATA.3 \ CURLOPT_CLOSESOCKETFUNCTION.3 \ | < | | | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 \ CURLOPT_CHUNK_BGN_FUNCTION.3 \ CURLOPT_CHUNK_DATA.3 \ CURLOPT_CHUNK_END_FUNCTION.3 \ CURLOPT_CLOSESOCKETDATA.3 \ CURLOPT_CLOSESOCKETFUNCTION.3 \ CURLOPT_CONNECTTIMEOUT.3 \ CURLOPT_CONNECTTIMEOUT_MS.3 \ CURLOPT_CONNECT_ONLY.3 \ CURLOPT_CONNECT_TO.3 \ CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 \ CURLOPT_CONV_FROM_UTF8_FUNCTION.3 \ CURLOPT_CONV_TO_NETWORK_FUNCTION.3 \ CURLOPT_COOKIE.3 \ CURLOPT_COOKIEFILE.3 \ CURLOPT_COOKIEJAR.3 \ CURLOPT_COOKIELIST.3 \ CURLOPT_COOKIESESSION.3 \ CURLOPT_COPYPOSTFIELDS.3 \ CURLOPT_CRLF.3 \ CURLOPT_CRLFILE.3 \ CURLOPT_CURLU.3 \ CURLOPT_CUSTOMREQUEST.3 \ CURLOPT_DEBUGDATA.3 \ CURLOPT_DEBUGFUNCTION.3 \ CURLOPT_DEFAULT_PROTOCOL.3 \ CURLOPT_DIRLISTONLY.3 \ CURLOPT_DISALLOW_USERNAME_IN_URL.3 \ CURLOPT_DNS_CACHE_TIMEOUT.3 \ CURLOPT_DNS_INTERFACE.3 \ |
︙ | ︙ | |||
164 165 166 167 168 169 170 | CURLOPT_HTTPHEADER.3 \ CURLOPT_HTTPPOST.3 \ CURLOPT_HTTPPROXYTUNNEL.3 \ CURLOPT_HTTP_CONTENT_DECODING.3 \ CURLOPT_HTTP_TRANSFER_DECODING.3 \ CURLOPT_HTTP_VERSION.3 \ CURLOPT_IGNORE_CONTENT_LENGTH.3 \ | < < | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | CURLOPT_HTTPHEADER.3 \ CURLOPT_HTTPPOST.3 \ CURLOPT_HTTPPROXYTUNNEL.3 \ CURLOPT_HTTP_CONTENT_DECODING.3 \ CURLOPT_HTTP_TRANSFER_DECODING.3 \ CURLOPT_HTTP_VERSION.3 \ CURLOPT_IGNORE_CONTENT_LENGTH.3 \ CURLOPT_INFILESIZE.3 \ CURLOPT_INFILESIZE_LARGE.3 \ CURLOPT_INTERFACE.3 \ CURLOPT_INTERLEAVEDATA.3 \ CURLOPT_INTERLEAVEFUNCTION.3 \ CURLOPT_IOCTLDATA.3 \ CURLOPT_IOCTLFUNCTION.3 \ |
︙ | ︙ | |||
328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 | CURLOPT_TIMEOUT_MS.3 \ CURLOPT_TIMEVALUE.3 \ CURLOPT_TIMEVALUE_LARGE.3 \ CURLOPT_TLS13_CIPHERS.3 \ CURLOPT_TLSAUTH_PASSWORD.3 \ CURLOPT_TLSAUTH_TYPE.3 \ CURLOPT_TLSAUTH_USERNAME.3 \ CURLOPT_TRANSFERTEXT.3 \ CURLOPT_TRANSFER_ENCODING.3 \ CURLOPT_UNIX_SOCKET_PATH.3 \ CURLOPT_UNRESTRICTED_AUTH.3 \ CURLOPT_UPLOAD.3 \ CURLOPT_UPLOAD_BUFFERSIZE.3 \ CURLOPT_URL.3 \ CURLOPT_USERAGENT.3 \ CURLOPT_USERNAME.3 \ CURLOPT_USERPWD.3 \ CURLOPT_USE_SSL.3 \ | > > > | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 | CURLOPT_TIMEOUT_MS.3 \ CURLOPT_TIMEVALUE.3 \ CURLOPT_TIMEVALUE_LARGE.3 \ CURLOPT_TLS13_CIPHERS.3 \ CURLOPT_TLSAUTH_PASSWORD.3 \ CURLOPT_TLSAUTH_TYPE.3 \ CURLOPT_TLSAUTH_USERNAME.3 \ CURLOPT_TRAILERDATA.3 \ CURLOPT_TRAILERFUNCTION.3 \ CURLOPT_TRANSFERTEXT.3 \ CURLOPT_TRANSFER_ENCODING.3 \ CURLOPT_UNIX_SOCKET_PATH.3 \ CURLOPT_UNRESTRICTED_AUTH.3 \ CURLOPT_UPKEEP_INTERVAL_MS.3 \ CURLOPT_UPLOAD.3 \ CURLOPT_UPLOAD_BUFFERSIZE.3 \ CURLOPT_URL.3 \ CURLOPT_USERAGENT.3 \ CURLOPT_USERNAME.3 \ CURLOPT_USERPWD.3 \ CURLOPT_USE_SSL.3 \ |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/symbols-in-versions.
︙ | ︙ | |||
315 316 317 318 319 320 321 322 323 324 325 326 327 328 | CURLKHTYPE_UNKNOWN 7.19.6 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 7.30.0 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 7.30.0 CURLMOPT_MAXCONNECTS 7.16.3 CURLMOPT_MAX_HOST_CONNECTIONS 7.30.0 CURLMOPT_MAX_PIPELINE_LENGTH 7.30.0 CURLMOPT_MAX_TOTAL_CONNECTIONS 7.30.0 CURLMOPT_PIPELINING 7.16.0 CURLMOPT_PIPELINING_SERVER_BL 7.30.0 CURLMOPT_PIPELINING_SITE_BL 7.30.0 CURLMOPT_PUSHDATA 7.44.0 CURLMOPT_PUSHFUNCTION 7.44.0 CURLMOPT_SOCKETDATA 7.15.4 CURLMOPT_SOCKETFUNCTION 7.15.4 | > | 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 | CURLKHTYPE_UNKNOWN 7.19.6 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 7.30.0 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 7.30.0 CURLMOPT_MAXCONNECTS 7.16.3 CURLMOPT_MAX_HOST_CONNECTIONS 7.30.0 CURLMOPT_MAX_PIPELINE_LENGTH 7.30.0 CURLMOPT_MAX_TOTAL_CONNECTIONS 7.30.0 CURLMOPT_MAX_CONCURRENT_STREAMS 7.67.0 CURLMOPT_PIPELINING 7.16.0 CURLMOPT_PIPELINING_SERVER_BL 7.30.0 CURLMOPT_PIPELINING_SITE_BL 7.30.0 CURLMOPT_PUSHDATA 7.44.0 CURLMOPT_PUSHFUNCTION 7.44.0 CURLMOPT_SOCKETDATA 7.15.4 CURLMOPT_SOCKETFUNCTION 7.15.4 |
︙ | ︙ | |||
775 776 777 778 779 780 781 782 783 784 785 786 787 788 | CURLU_APPENDQUERY 7.62.0 CURLU_DEFAULT_PORT 7.62.0 CURLU_DEFAULT_SCHEME 7.62.0 CURLU_DISALLOW_USER 7.62.0 CURLU_GUESS_SCHEME 7.62.0 CURLU_NON_SUPPORT_SCHEME 7.62.0 CURLU_NO_DEFAULT_PORT 7.62.0 CURLU_PATH_AS_IS 7.62.0 CURLU_URLDECODE 7.62.0 CURLU_URLENCODE 7.62.0 CURLVERSION_FIFTH 7.57.0 CURLVERSION_FIRST 7.10 CURLVERSION_FOURTH 7.16.1 CURLVERSION_NOW 7.10 | > | 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 | CURLU_APPENDQUERY 7.62.0 CURLU_DEFAULT_PORT 7.62.0 CURLU_DEFAULT_SCHEME 7.62.0 CURLU_DISALLOW_USER 7.62.0 CURLU_GUESS_SCHEME 7.62.0 CURLU_NON_SUPPORT_SCHEME 7.62.0 CURLU_NO_DEFAULT_PORT 7.62.0 CURLU_NO_AUTHORITY 7.67.0 CURLU_PATH_AS_IS 7.62.0 CURLU_URLDECODE 7.62.0 CURLU_URLENCODE 7.62.0 CURLVERSION_FIFTH 7.57.0 CURLVERSION_FIRST 7.10 CURLVERSION_FOURTH 7.16.1 CURLVERSION_NOW 7.10 |
︙ | ︙ | |||
921 922 923 924 925 926 927 928 929 930 931 932 933 934 | CURL_UPKEEP_INTERVAL_DEFAULT 7.62.0 CURL_VERSION_ALTSVC 7.64.1 CURL_VERSION_ASYNCHDNS 7.10.7 CURL_VERSION_BROTLI 7.57.0 CURL_VERSION_CONV 7.15.4 CURL_VERSION_CURLDEBUG 7.19.6 CURL_VERSION_DEBUG 7.10.6 CURL_VERSION_GSSAPI 7.38.0 CURL_VERSION_GSSNEGOTIATE 7.10.6 7.38.0 CURL_VERSION_HTTP2 7.33.0 CURL_VERSION_HTTP3 7.66.0 CURL_VERSION_HTTPS_PROXY 7.52.0 CURL_VERSION_IDN 7.12.0 CURL_VERSION_IPV6 7.10 | > | 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 | CURL_UPKEEP_INTERVAL_DEFAULT 7.62.0 CURL_VERSION_ALTSVC 7.64.1 CURL_VERSION_ASYNCHDNS 7.10.7 CURL_VERSION_BROTLI 7.57.0 CURL_VERSION_CONV 7.15.4 CURL_VERSION_CURLDEBUG 7.19.6 CURL_VERSION_DEBUG 7.10.6 CURL_VERSION_ESNI 7.67.0 CURL_VERSION_GSSAPI 7.38.0 CURL_VERSION_GSSNEGOTIATE 7.10.6 7.38.0 CURL_VERSION_HTTP2 7.33.0 CURL_VERSION_HTTP3 7.66.0 CURL_VERSION_HTTPS_PROXY 7.52.0 CURL_VERSION_IDN 7.12.0 CURL_VERSION_IPV6 7.10 |
︙ | ︙ |
Changes to jni/curl/include/curl/curl.h.
︙ | ︙ | |||
2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 | #define CURL_VERSION_PSL (1<<20) /* Mozilla's Public Suffix List, used for cookie domain verification */ #define CURL_VERSION_HTTPS_PROXY (1<<21) /* HTTPS-proxy support built-in */ #define CURL_VERSION_MULTI_SSL (1<<22) /* Multiple SSL backends available */ #define CURL_VERSION_BROTLI (1<<23) /* Brotli features are present. */ #define CURL_VERSION_ALTSVC (1<<24) /* Alt-Svc handling built-in */ #define CURL_VERSION_HTTP3 (1<<25) /* HTTP3 support built-in */ /* * NAME curl_version_info() * * DESCRIPTION * * This function returns a pointer to a static copy of the version info | > > | 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 | #define CURL_VERSION_PSL (1<<20) /* Mozilla's Public Suffix List, used for cookie domain verification */ #define CURL_VERSION_HTTPS_PROXY (1<<21) /* HTTPS-proxy support built-in */ #define CURL_VERSION_MULTI_SSL (1<<22) /* Multiple SSL backends available */ #define CURL_VERSION_BROTLI (1<<23) /* Brotli features are present. */ #define CURL_VERSION_ALTSVC (1<<24) /* Alt-Svc handling built-in */ #define CURL_VERSION_HTTP3 (1<<25) /* HTTP3 support built-in */ #define CURL_VERSION_ESNI (1<<26) /* ESNI support */ /* * NAME curl_version_info() * * DESCRIPTION * * This function returns a pointer to a static copy of the version info |
︙ | ︙ |
Changes to jni/curl/include/curl/curlver.h.
︙ | ︙ | |||
26 27 28 29 30 31 32 | a script at release-time. This was made its own header file in 7.11.2 */ /* This is the global package copyright */ #define LIBCURL_COPYRIGHT "1996 - 2019 Daniel Stenberg, <daniel@haxx.se>." /* This is the version number of the libcurl package from which this header file origins: */ | | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | a script at release-time. This was made its own header file in 7.11.2 */ /* This is the global package copyright */ #define LIBCURL_COPYRIGHT "1996 - 2019 Daniel Stenberg, <daniel@haxx.se>." /* This is the version number of the libcurl package from which this header file origins: */ #define LIBCURL_VERSION "7.67.0" /* The numeric version number is also available "in parts" by using these defines: */ #define LIBCURL_VERSION_MAJOR 7 #define LIBCURL_VERSION_MINOR 67 #define LIBCURL_VERSION_PATCH 0 /* This is the numeric version of the libcurl version number, meant for easier parsing and comparions by programs. The LIBCURL_VERSION_NUM define will always follow this syntax: 0xXXYYZZ |
︙ | ︙ | |||
53 54 55 56 57 58 59 | and it is always a greater number in a more recent release. It makes comparisons with greater than and less than work. Note: This define is the full hex number and _does not_ use the CURL_VERSION_BITS() macro since curl's own configure script greps for it and needs it to contain the full number. */ | | | | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | and it is always a greater number in a more recent release. It makes comparisons with greater than and less than work. Note: This define is the full hex number and _does not_ use the CURL_VERSION_BITS() macro since curl's own configure script greps for it and needs it to contain the full number. */ #define LIBCURL_VERSION_NUM 0x074300 /* * This is the date and time when the full source package was created. The * timestamp is not stored in git, as the timestamp is properly set in the * tarballs by the maketgz script. * * The format of the date follows this template: * * "2007-11-23" */ #define LIBCURL_TIMESTAMP "2019-11-06" #define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z)) #define CURL_AT_LEAST_VERSION(x,y,z) \ (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z)) #endif /* CURLINC_CURLVER_H */ |
Changes to jni/curl/include/curl/multi.h.
︙ | ︙ | |||
392 393 394 395 396 397 398 399 400 401 402 403 404 405 | /* This is the server push callback function pointer */ CINIT(PUSHFUNCTION, FUNCTIONPOINT, 14), /* This is the argument passed to the server push callback */ CINIT(PUSHDATA, OBJECTPOINT, 15), CURLMOPT_LASTENTRY /* the last unused */ } CURLMoption; /* * Name: curl_multi_setopt() * | > > > | 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 | /* This is the server push callback function pointer */ CINIT(PUSHFUNCTION, FUNCTIONPOINT, 14), /* This is the argument passed to the server push callback */ CINIT(PUSHDATA, OBJECTPOINT, 15), /* maximum number of concurrent streams to support on a connection */ CINIT(MAX_CONCURRENT_STREAMS, LONG, 16), CURLMOPT_LASTENTRY /* the last unused */ } CURLMoption; /* * Name: curl_multi_setopt() * |
︙ | ︙ | |||
444 445 446 447 448 449 450 451 452 453 454 455 | typedef int (*curl_push_callback)(CURL *parent, CURL *easy, size_t num_headers, struct curl_pushheaders *headers, void *userp); #ifdef __cplusplus } /* end of extern "C" */ #endif #endif | > > > | 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 | typedef int (*curl_push_callback)(CURL *parent, CURL *easy, size_t num_headers, struct curl_pushheaders *headers, void *userp); /* value for MAXIMUM CONCURRENT STREAMS upper limit */ #define INITIAL_MAX_CONCURRENT_STREAMS ((1U << 31) - 1) #ifdef __cplusplus } /* end of extern "C" */ #endif #endif |
Changes to jni/curl/include/curl/urlapi.h.
︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #define CURLU_NON_SUPPORT_SCHEME (1<<3) /* allow non-supported scheme */ #define CURLU_PATH_AS_IS (1<<4) /* leave dot sequences */ #define CURLU_DISALLOW_USER (1<<5) /* no user+password allowed */ #define CURLU_URLDECODE (1<<6) /* URL decode on get */ #define CURLU_URLENCODE (1<<7) /* URL encode on set */ #define CURLU_APPENDQUERY (1<<8) /* append a form style part */ #define CURLU_GUESS_SCHEME (1<<9) /* legacy curl-style guessing */ typedef struct Curl_URL CURLU; /* * curl_url() creates a new CURLU handle and returns a pointer to it. * Must be freed with curl_url_cleanup(). */ | > > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | #define CURLU_NON_SUPPORT_SCHEME (1<<3) /* allow non-supported scheme */ #define CURLU_PATH_AS_IS (1<<4) /* leave dot sequences */ #define CURLU_DISALLOW_USER (1<<5) /* no user+password allowed */ #define CURLU_URLDECODE (1<<6) /* URL decode on get */ #define CURLU_URLENCODE (1<<7) /* URL encode on set */ #define CURLU_APPENDQUERY (1<<8) /* append a form style part */ #define CURLU_GUESS_SCHEME (1<<9) /* legacy curl-style guessing */ #define CURLU_NO_AUTHORITY (1<<10) /* Allow empty authority when the scheme is unknown. */ typedef struct Curl_URL CURLU; /* * curl_url() creates a new CURLU handle and returns a pointer to it. * Must be freed with curl_url_cleanup(). */ |
︙ | ︙ |
Changes to jni/curl/lib/Makefile.in.
︙ | ︙ | |||
225 226 227 228 229 230 231 | libcurl_la-x509asn1.lo libcurl_la-http2.lo libcurl_la-smb.lo \ libcurl_la-curl_endian.lo libcurl_la-curl_des.lo \ libcurl_la-system_win32.lo libcurl_la-mime.lo \ libcurl_la-sha256.lo libcurl_la-setopt.lo \ libcurl_la-curl_path.lo libcurl_la-curl_ctype.lo \ libcurl_la-curl_range.lo libcurl_la-psl.lo libcurl_la-doh.lo \ libcurl_la-urlapi.lo libcurl_la-curl_get_line.lo \ | | | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | libcurl_la-x509asn1.lo libcurl_la-http2.lo libcurl_la-smb.lo \ libcurl_la-curl_endian.lo libcurl_la-curl_des.lo \ libcurl_la-system_win32.lo libcurl_la-mime.lo \ libcurl_la-sha256.lo libcurl_la-setopt.lo \ libcurl_la-curl_path.lo libcurl_la-curl_ctype.lo \ libcurl_la-curl_range.lo libcurl_la-psl.lo libcurl_la-doh.lo \ libcurl_la-urlapi.lo libcurl_la-curl_get_line.lo \ libcurl_la-altsvc.lo libcurl_la-socketpair.lo am__dirstamp = $(am__leading_dot)dirstamp am__objects_2 = vauth/libcurl_la-vauth.lo \ vauth/libcurl_la-cleartext.lo vauth/libcurl_la-cram.lo \ vauth/libcurl_la-digest.lo vauth/libcurl_la-digest_sspi.lo \ vauth/libcurl_la-krb5_gssapi.lo vauth/libcurl_la-krb5_sspi.lo \ vauth/libcurl_la-ntlm.lo vauth/libcurl_la-ntlm_sspi.lo \ vauth/libcurl_la-oauth2.lo vauth/libcurl_la-spnego_gssapi.lo \ |
︙ | ︙ | |||
311 312 313 314 315 316 317 | libcurlu_la-x509asn1.lo libcurlu_la-http2.lo \ libcurlu_la-smb.lo libcurlu_la-curl_endian.lo \ libcurlu_la-curl_des.lo libcurlu_la-system_win32.lo \ libcurlu_la-mime.lo libcurlu_la-sha256.lo \ libcurlu_la-setopt.lo libcurlu_la-curl_path.lo \ libcurlu_la-curl_ctype.lo libcurlu_la-curl_range.lo \ libcurlu_la-psl.lo libcurlu_la-doh.lo libcurlu_la-urlapi.lo \ | | > | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | libcurlu_la-x509asn1.lo libcurlu_la-http2.lo \ libcurlu_la-smb.lo libcurlu_la-curl_endian.lo \ libcurlu_la-curl_des.lo libcurlu_la-system_win32.lo \ libcurlu_la-mime.lo libcurlu_la-sha256.lo \ libcurlu_la-setopt.lo libcurlu_la-curl_path.lo \ libcurlu_la-curl_ctype.lo libcurlu_la-curl_range.lo \ libcurlu_la-psl.lo libcurlu_la-doh.lo libcurlu_la-urlapi.lo \ libcurlu_la-curl_get_line.lo libcurlu_la-altsvc.lo \ libcurlu_la-socketpair.lo am__objects_10 = vauth/libcurlu_la-vauth.lo \ vauth/libcurlu_la-cleartext.lo vauth/libcurlu_la-cram.lo \ vauth/libcurlu_la-digest.lo vauth/libcurlu_la-digest_sspi.lo \ vauth/libcurlu_la-krb5_gssapi.lo \ vauth/libcurlu_la-krb5_sspi.lo vauth/libcurlu_la-ntlm.lo \ vauth/libcurlu_la-ntlm_sspi.lo vauth/libcurlu_la-oauth2.lo \ vauth/libcurlu_la-spnego_gssapi.lo \ |
︙ | ︙ | |||
440 441 442 443 444 445 446 447 448 449 450 451 452 453 | ./$(DEPDIR)/libcurl_la-select.Plo \ ./$(DEPDIR)/libcurl_la-sendf.Plo \ ./$(DEPDIR)/libcurl_la-setopt.Plo \ ./$(DEPDIR)/libcurl_la-sha256.Plo \ ./$(DEPDIR)/libcurl_la-share.Plo \ ./$(DEPDIR)/libcurl_la-slist.Plo \ ./$(DEPDIR)/libcurl_la-smb.Plo ./$(DEPDIR)/libcurl_la-smtp.Plo \ ./$(DEPDIR)/libcurl_la-socks.Plo \ ./$(DEPDIR)/libcurl_la-socks_gssapi.Plo \ ./$(DEPDIR)/libcurl_la-socks_sspi.Plo \ ./$(DEPDIR)/libcurl_la-speedcheck.Plo \ ./$(DEPDIR)/libcurl_la-splay.Plo \ ./$(DEPDIR)/libcurl_la-strcase.Plo \ ./$(DEPDIR)/libcurl_la-strdup.Plo \ | > | 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 | ./$(DEPDIR)/libcurl_la-select.Plo \ ./$(DEPDIR)/libcurl_la-sendf.Plo \ ./$(DEPDIR)/libcurl_la-setopt.Plo \ ./$(DEPDIR)/libcurl_la-sha256.Plo \ ./$(DEPDIR)/libcurl_la-share.Plo \ ./$(DEPDIR)/libcurl_la-slist.Plo \ ./$(DEPDIR)/libcurl_la-smb.Plo ./$(DEPDIR)/libcurl_la-smtp.Plo \ ./$(DEPDIR)/libcurl_la-socketpair.Plo \ ./$(DEPDIR)/libcurl_la-socks.Plo \ ./$(DEPDIR)/libcurl_la-socks_gssapi.Plo \ ./$(DEPDIR)/libcurl_la-socks_sspi.Plo \ ./$(DEPDIR)/libcurl_la-speedcheck.Plo \ ./$(DEPDIR)/libcurl_la-splay.Plo \ ./$(DEPDIR)/libcurl_la-strcase.Plo \ ./$(DEPDIR)/libcurl_la-strdup.Plo \ |
︙ | ︙ | |||
550 551 552 553 554 555 556 557 558 559 560 561 562 563 | ./$(DEPDIR)/libcurlu_la-sendf.Plo \ ./$(DEPDIR)/libcurlu_la-setopt.Plo \ ./$(DEPDIR)/libcurlu_la-sha256.Plo \ ./$(DEPDIR)/libcurlu_la-share.Plo \ ./$(DEPDIR)/libcurlu_la-slist.Plo \ ./$(DEPDIR)/libcurlu_la-smb.Plo \ ./$(DEPDIR)/libcurlu_la-smtp.Plo \ ./$(DEPDIR)/libcurlu_la-socks.Plo \ ./$(DEPDIR)/libcurlu_la-socks_gssapi.Plo \ ./$(DEPDIR)/libcurlu_la-socks_sspi.Plo \ ./$(DEPDIR)/libcurlu_la-speedcheck.Plo \ ./$(DEPDIR)/libcurlu_la-splay.Plo \ ./$(DEPDIR)/libcurlu_la-strcase.Plo \ ./$(DEPDIR)/libcurlu_la-strdup.Plo \ | > | 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 | ./$(DEPDIR)/libcurlu_la-sendf.Plo \ ./$(DEPDIR)/libcurlu_la-setopt.Plo \ ./$(DEPDIR)/libcurlu_la-sha256.Plo \ ./$(DEPDIR)/libcurlu_la-share.Plo \ ./$(DEPDIR)/libcurlu_la-slist.Plo \ ./$(DEPDIR)/libcurlu_la-smb.Plo \ ./$(DEPDIR)/libcurlu_la-smtp.Plo \ ./$(DEPDIR)/libcurlu_la-socketpair.Plo \ ./$(DEPDIR)/libcurlu_la-socks.Plo \ ./$(DEPDIR)/libcurlu_la-socks_gssapi.Plo \ ./$(DEPDIR)/libcurlu_la-socks_sspi.Plo \ ./$(DEPDIR)/libcurlu_la-speedcheck.Plo \ ./$(DEPDIR)/libcurlu_la-splay.Plo \ ./$(DEPDIR)/libcurlu_la-strcase.Plo \ ./$(DEPDIR)/libcurlu_la-strdup.Plo \ |
︙ | ︙ | |||
996 997 998 999 1000 1001 1002 | pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c \ openldap.c curl_gethostname.c gopher.c idn_win32.c \ http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c \ http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c \ curl_multibyte.c hostcheck.c conncache.c dotdot.c \ x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \ mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c \ | | | | 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 | pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c \ openldap.c curl_gethostname.c gopher.c idn_win32.c \ http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c \ http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c \ curl_multibyte.c hostcheck.c conncache.c dotdot.c \ x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \ mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c \ doh.c urlapi.c curl_get_line.c altsvc.c socketpair.c LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \ formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h \ speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ socks.h ssh.h curl_base64.h curl_addrinfo.h curl_sspi.h \ slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h \ rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h \ curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h \ http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h \ curl_sasl.h curl_multibyte.h hostcheck.h conncache.h \ curl_setup_once.h multihandle.h setup-vms.h dotdot.h \ x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \ curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \ curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h \ curl_get_line.h altsvc.h quic.h socketpair.h LIB_RCFILES = libcurl.rc CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) \ $(LIB_VQUIC_CFILES) $(LIB_VSSH_CFILES) HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) \ $(LIB_VQUIC_HFILES) |
︙ | ︙ | |||
1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-sendf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-setopt.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-sha256.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-share.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-slist.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-smb.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-smtp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-socks.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-socks_gssapi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-socks_sspi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-speedcheck.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-splay.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-strcase.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-strdup.Plo@am__quote@ # am--include-marker | > | 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-sendf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-setopt.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-sha256.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-share.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-slist.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-smb.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-smtp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-socketpair.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-socks.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-socks_gssapi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-socks_sspi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-speedcheck.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-splay.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-strcase.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-strdup.Plo@am__quote@ # am--include-marker |
︙ | ︙ | |||
1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-sendf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-setopt.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-sha256.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-share.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-slist.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-smb.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-smtp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-socks.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-socks_gssapi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-socks_sspi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-speedcheck.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-splay.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-strcase.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-strdup.Plo@am__quote@ # am--include-marker | > | 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-sendf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-setopt.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-sha256.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-share.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-slist.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-smb.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-smtp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-socketpair.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-socks.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-socks_gssapi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-socks_sspi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-speedcheck.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-splay.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-strcase.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-strdup.Plo@am__quote@ # am--include-marker |
︙ | ︙ | |||
2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 | libcurl_la-altsvc.lo: altsvc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT libcurl_la-altsvc.lo -MD -MP -MF $(DEPDIR)/libcurl_la-altsvc.Tpo -c -o libcurl_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurl_la-altsvc.Tpo $(DEPDIR)/libcurl_la-altsvc.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altsvc.c' object='libcurl_la-altsvc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o libcurl_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c vauth/libcurl_la-vauth.lo: vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vauth/libcurl_la-vauth.lo -MD -MP -MF vauth/$(DEPDIR)/libcurl_la-vauth.Tpo -c -o vauth/libcurl_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vauth/$(DEPDIR)/libcurl_la-vauth.Tpo vauth/$(DEPDIR)/libcurl_la-vauth.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vauth/vauth.c' object='vauth/libcurl_la-vauth.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vauth/libcurl_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c | > > > > > > > | 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 | libcurl_la-altsvc.lo: altsvc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT libcurl_la-altsvc.lo -MD -MP -MF $(DEPDIR)/libcurl_la-altsvc.Tpo -c -o libcurl_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurl_la-altsvc.Tpo $(DEPDIR)/libcurl_la-altsvc.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altsvc.c' object='libcurl_la-altsvc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o libcurl_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c libcurl_la-socketpair.lo: socketpair.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT libcurl_la-socketpair.lo -MD -MP -MF $(DEPDIR)/libcurl_la-socketpair.Tpo -c -o libcurl_la-socketpair.lo `test -f 'socketpair.c' || echo '$(srcdir)/'`socketpair.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurl_la-socketpair.Tpo $(DEPDIR)/libcurl_la-socketpair.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='socketpair.c' object='libcurl_la-socketpair.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o libcurl_la-socketpair.lo `test -f 'socketpair.c' || echo '$(srcdir)/'`socketpair.c vauth/libcurl_la-vauth.lo: vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vauth/libcurl_la-vauth.lo -MD -MP -MF vauth/$(DEPDIR)/libcurl_la-vauth.Tpo -c -o vauth/libcurl_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vauth/$(DEPDIR)/libcurl_la-vauth.Tpo vauth/$(DEPDIR)/libcurl_la-vauth.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vauth/vauth.c' object='vauth/libcurl_la-vauth.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vauth/libcurl_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c |
︙ | ︙ | |||
3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 | libcurlu_la-altsvc.lo: altsvc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT libcurlu_la-altsvc.lo -MD -MP -MF $(DEPDIR)/libcurlu_la-altsvc.Tpo -c -o libcurlu_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurlu_la-altsvc.Tpo $(DEPDIR)/libcurlu_la-altsvc.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altsvc.c' object='libcurlu_la-altsvc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o libcurlu_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c vauth/libcurlu_la-vauth.lo: vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vauth/libcurlu_la-vauth.lo -MD -MP -MF vauth/$(DEPDIR)/libcurlu_la-vauth.Tpo -c -o vauth/libcurlu_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vauth/$(DEPDIR)/libcurlu_la-vauth.Tpo vauth/$(DEPDIR)/libcurlu_la-vauth.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vauth/vauth.c' object='vauth/libcurlu_la-vauth.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vauth/libcurlu_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c | > > > > > > > | 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 | libcurlu_la-altsvc.lo: altsvc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT libcurlu_la-altsvc.lo -MD -MP -MF $(DEPDIR)/libcurlu_la-altsvc.Tpo -c -o libcurlu_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurlu_la-altsvc.Tpo $(DEPDIR)/libcurlu_la-altsvc.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altsvc.c' object='libcurlu_la-altsvc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o libcurlu_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c libcurlu_la-socketpair.lo: socketpair.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT libcurlu_la-socketpair.lo -MD -MP -MF $(DEPDIR)/libcurlu_la-socketpair.Tpo -c -o libcurlu_la-socketpair.lo `test -f 'socketpair.c' || echo '$(srcdir)/'`socketpair.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurlu_la-socketpair.Tpo $(DEPDIR)/libcurlu_la-socketpair.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='socketpair.c' object='libcurlu_la-socketpair.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o libcurlu_la-socketpair.lo `test -f 'socketpair.c' || echo '$(srcdir)/'`socketpair.c vauth/libcurlu_la-vauth.lo: vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vauth/libcurlu_la-vauth.lo -MD -MP -MF vauth/$(DEPDIR)/libcurlu_la-vauth.Tpo -c -o vauth/libcurlu_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vauth/$(DEPDIR)/libcurlu_la-vauth.Tpo vauth/$(DEPDIR)/libcurlu_la-vauth.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vauth/vauth.c' object='vauth/libcurlu_la-vauth.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vauth/libcurlu_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c |
︙ | ︙ | |||
3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 | -rm -f ./$(DEPDIR)/libcurl_la-sendf.Plo -rm -f ./$(DEPDIR)/libcurl_la-setopt.Plo -rm -f ./$(DEPDIR)/libcurl_la-sha256.Plo -rm -f ./$(DEPDIR)/libcurl_la-share.Plo -rm -f ./$(DEPDIR)/libcurl_la-slist.Plo -rm -f ./$(DEPDIR)/libcurl_la-smb.Plo -rm -f ./$(DEPDIR)/libcurl_la-smtp.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks_gssapi.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks_sspi.Plo -rm -f ./$(DEPDIR)/libcurl_la-speedcheck.Plo -rm -f ./$(DEPDIR)/libcurl_la-splay.Plo -rm -f ./$(DEPDIR)/libcurl_la-strcase.Plo -rm -f ./$(DEPDIR)/libcurl_la-strdup.Plo | > | 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 | -rm -f ./$(DEPDIR)/libcurl_la-sendf.Plo -rm -f ./$(DEPDIR)/libcurl_la-setopt.Plo -rm -f ./$(DEPDIR)/libcurl_la-sha256.Plo -rm -f ./$(DEPDIR)/libcurl_la-share.Plo -rm -f ./$(DEPDIR)/libcurl_la-slist.Plo -rm -f ./$(DEPDIR)/libcurl_la-smb.Plo -rm -f ./$(DEPDIR)/libcurl_la-smtp.Plo -rm -f ./$(DEPDIR)/libcurl_la-socketpair.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks_gssapi.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks_sspi.Plo -rm -f ./$(DEPDIR)/libcurl_la-speedcheck.Plo -rm -f ./$(DEPDIR)/libcurl_la-splay.Plo -rm -f ./$(DEPDIR)/libcurl_la-strcase.Plo -rm -f ./$(DEPDIR)/libcurl_la-strdup.Plo |
︙ | ︙ | |||
3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 | -rm -f ./$(DEPDIR)/libcurlu_la-sendf.Plo -rm -f ./$(DEPDIR)/libcurlu_la-setopt.Plo -rm -f ./$(DEPDIR)/libcurlu_la-sha256.Plo -rm -f ./$(DEPDIR)/libcurlu_la-share.Plo -rm -f ./$(DEPDIR)/libcurlu_la-slist.Plo -rm -f ./$(DEPDIR)/libcurlu_la-smb.Plo -rm -f ./$(DEPDIR)/libcurlu_la-smtp.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks_gssapi.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks_sspi.Plo -rm -f ./$(DEPDIR)/libcurlu_la-speedcheck.Plo -rm -f ./$(DEPDIR)/libcurlu_la-splay.Plo -rm -f ./$(DEPDIR)/libcurlu_la-strcase.Plo -rm -f ./$(DEPDIR)/libcurlu_la-strdup.Plo | > | 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 | -rm -f ./$(DEPDIR)/libcurlu_la-sendf.Plo -rm -f ./$(DEPDIR)/libcurlu_la-setopt.Plo -rm -f ./$(DEPDIR)/libcurlu_la-sha256.Plo -rm -f ./$(DEPDIR)/libcurlu_la-share.Plo -rm -f ./$(DEPDIR)/libcurlu_la-slist.Plo -rm -f ./$(DEPDIR)/libcurlu_la-smb.Plo -rm -f ./$(DEPDIR)/libcurlu_la-smtp.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socketpair.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks_gssapi.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks_sspi.Plo -rm -f ./$(DEPDIR)/libcurlu_la-speedcheck.Plo -rm -f ./$(DEPDIR)/libcurlu_la-splay.Plo -rm -f ./$(DEPDIR)/libcurlu_la-strcase.Plo -rm -f ./$(DEPDIR)/libcurlu_la-strdup.Plo |
︙ | ︙ | |||
4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 | -rm -f ./$(DEPDIR)/libcurl_la-sendf.Plo -rm -f ./$(DEPDIR)/libcurl_la-setopt.Plo -rm -f ./$(DEPDIR)/libcurl_la-sha256.Plo -rm -f ./$(DEPDIR)/libcurl_la-share.Plo -rm -f ./$(DEPDIR)/libcurl_la-slist.Plo -rm -f ./$(DEPDIR)/libcurl_la-smb.Plo -rm -f ./$(DEPDIR)/libcurl_la-smtp.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks_gssapi.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks_sspi.Plo -rm -f ./$(DEPDIR)/libcurl_la-speedcheck.Plo -rm -f ./$(DEPDIR)/libcurl_la-splay.Plo -rm -f ./$(DEPDIR)/libcurl_la-strcase.Plo -rm -f ./$(DEPDIR)/libcurl_la-strdup.Plo | > | 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 | -rm -f ./$(DEPDIR)/libcurl_la-sendf.Plo -rm -f ./$(DEPDIR)/libcurl_la-setopt.Plo -rm -f ./$(DEPDIR)/libcurl_la-sha256.Plo -rm -f ./$(DEPDIR)/libcurl_la-share.Plo -rm -f ./$(DEPDIR)/libcurl_la-slist.Plo -rm -f ./$(DEPDIR)/libcurl_la-smb.Plo -rm -f ./$(DEPDIR)/libcurl_la-smtp.Plo -rm -f ./$(DEPDIR)/libcurl_la-socketpair.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks_gssapi.Plo -rm -f ./$(DEPDIR)/libcurl_la-socks_sspi.Plo -rm -f ./$(DEPDIR)/libcurl_la-speedcheck.Plo -rm -f ./$(DEPDIR)/libcurl_la-splay.Plo -rm -f ./$(DEPDIR)/libcurl_la-strcase.Plo -rm -f ./$(DEPDIR)/libcurl_la-strdup.Plo |
︙ | ︙ | |||
4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 | -rm -f ./$(DEPDIR)/libcurlu_la-sendf.Plo -rm -f ./$(DEPDIR)/libcurlu_la-setopt.Plo -rm -f ./$(DEPDIR)/libcurlu_la-sha256.Plo -rm -f ./$(DEPDIR)/libcurlu_la-share.Plo -rm -f ./$(DEPDIR)/libcurlu_la-slist.Plo -rm -f ./$(DEPDIR)/libcurlu_la-smb.Plo -rm -f ./$(DEPDIR)/libcurlu_la-smtp.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks_gssapi.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks_sspi.Plo -rm -f ./$(DEPDIR)/libcurlu_la-speedcheck.Plo -rm -f ./$(DEPDIR)/libcurlu_la-splay.Plo -rm -f ./$(DEPDIR)/libcurlu_la-strcase.Plo -rm -f ./$(DEPDIR)/libcurlu_la-strdup.Plo | > | 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 | -rm -f ./$(DEPDIR)/libcurlu_la-sendf.Plo -rm -f ./$(DEPDIR)/libcurlu_la-setopt.Plo -rm -f ./$(DEPDIR)/libcurlu_la-sha256.Plo -rm -f ./$(DEPDIR)/libcurlu_la-share.Plo -rm -f ./$(DEPDIR)/libcurlu_la-slist.Plo -rm -f ./$(DEPDIR)/libcurlu_la-smb.Plo -rm -f ./$(DEPDIR)/libcurlu_la-smtp.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socketpair.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks_gssapi.Plo -rm -f ./$(DEPDIR)/libcurlu_la-socks_sspi.Plo -rm -f ./$(DEPDIR)/libcurlu_la-speedcheck.Plo -rm -f ./$(DEPDIR)/libcurlu_la-splay.Plo -rm -f ./$(DEPDIR)/libcurlu_la-strcase.Plo -rm -f ./$(DEPDIR)/libcurlu_la-strdup.Plo |
︙ | ︙ |
Changes to jni/curl/lib/Makefile.inc.
︙ | ︙ | |||
57 58 59 60 61 62 63 | pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c \ openldap.c curl_gethostname.c gopher.c idn_win32.c \ http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c \ http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c \ curl_multibyte.c hostcheck.c conncache.c dotdot.c \ x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \ mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c \ | | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c \ openldap.c curl_gethostname.c gopher.c idn_win32.c \ http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c \ http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c \ curl_multibyte.c hostcheck.c conncache.c dotdot.c \ x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \ mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c \ doh.c urlapi.c curl_get_line.c altsvc.c socketpair.c LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \ formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h \ speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ socks.h ssh.h curl_base64.h curl_addrinfo.h curl_sspi.h \ slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h \ rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h \ curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h \ http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h \ curl_sasl.h curl_multibyte.h hostcheck.h conncache.h \ curl_setup_once.h multihandle.h setup-vms.h dotdot.h \ x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \ curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \ curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h \ curl_get_line.h altsvc.h quic.h socketpair.h LIB_RCFILES = libcurl.rc CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) \ $(LIB_VQUIC_CFILES) $(LIB_VSSH_CFILES) HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) \ $(LIB_VQUIC_HFILES) |
Changes to jni/curl/lib/Makefile.netware.
︙ | ︙ | |||
636 637 638 639 640 641 642 | @echo $(DL)#define HAVE_OPENSSL_X509_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_SSL_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_RSA_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_PEM_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_ERR_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_CRYPTO_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_ENGINE_H 1$(DL) >> $@ | < < | 636 637 638 639 640 641 642 643 644 645 646 647 648 649 | @echo $(DL)#define HAVE_OPENSSL_X509_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_SSL_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_RSA_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_PEM_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_ERR_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_CRYPTO_H 1$(DL) >> $@ @echo $(DL)#define HAVE_OPENSSL_ENGINE_H 1$(DL) >> $@ @echo $(DL)#define OPENSSL_NO_KRB5 1$(DL) >> $@ ifdef WITH_SRP @echo $(DL)#define USE_TLS_SRP 1$(DL) >> $@ endif ifdef WITH_SPNEGO @echo $(DL)#define HAVE_SPNEGO 1$(DL) >> $@ endif |
︙ | ︙ |
Changes to jni/curl/lib/altsvc.c.
︙ | ︙ | |||
50 51 52 53 54 55 56 | static enum alpnid alpn2alpnid(char *name) { if(strcasecompare(name, "h1")) return ALPN_h1; if(strcasecompare(name, "h2")) return ALPN_h2; | | | | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | static enum alpnid alpn2alpnid(char *name) { if(strcasecompare(name, "h1")) return ALPN_h1; if(strcasecompare(name, "h2")) return ALPN_h2; #if (defined(USE_QUICHE) || defined(USE_NGTCP2)) && !defined(UNITTESTS) if(strcasecompare(name, "h3-23")) return ALPN_h3; #else if(strcasecompare(name, "h3")) return ALPN_h3; #endif return ALPN_none; /* unknown, probably rubbish input */ } /* Given the ALPN ID, return the name */ const char *Curl_alpnid2str(enum alpnid id) { switch(id) { case ALPN_h1: return "h1"; case ALPN_h2: return "h2"; case ALPN_h3: #if (defined(USE_QUICHE) || defined(USE_NGTCP2)) && !defined(UNITTESTS) return "h3-23"; #else return "h3"; #endif default: return ""; /* bad */ } } |
︙ | ︙ | |||
438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 | semip = p; do { semip = strchr(semip, ';'); if(semip) { char option[32]; unsigned long num; char *end_ptr; semip++; /* pass the semicolon */ result = getalnum(&semip, option, sizeof(option)); if(result) break; while(*semip && ISBLANK(*semip)) semip++; if(*semip != '=') continue; semip++; num = strtoul(semip, &end_ptr, 10); | > > > > > > > > | > > | 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 | semip = p; do { semip = strchr(semip, ';'); if(semip) { char option[32]; unsigned long num; char *end_ptr; bool quoted = FALSE; semip++; /* pass the semicolon */ result = getalnum(&semip, option, sizeof(option)); if(result) break; while(*semip && ISBLANK(*semip)) semip++; if(*semip != '=') continue; semip++; while(*semip && ISBLANK(*semip)) semip++; if(*semip == '\"') { /* quoted value */ semip++; quoted = TRUE; } num = strtoul(semip, &end_ptr, 10); if((end_ptr != semip) && num && (num < ULONG_MAX)) { if(strcasecompare("ma", option)) maxage = num; else if(strcasecompare("persist", option) && (num == 1)) persist = TRUE; if(quoted && (*end_ptr == '\"')) end_ptr++; } semip = end_ptr; } } while(semip); do { if(*p == '=') { |
︙ | ︙ |
Changes to jni/curl/lib/asyn-thread.c.
︙ | ︙ | |||
17 18 19 20 21 22 23 24 25 26 27 28 29 30 | * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" /*********************************************************************** * Only for threaded name resolves builds **********************************************************************/ #ifdef CURLRES_THREADED #ifdef HAVE_NETINET_IN_H | > | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #include "socketpair.h" /*********************************************************************** * Only for threaded name resolves builds **********************************************************************/ #ifdef CURLRES_THREADED #ifdef HAVE_NETINET_IN_H |
︙ | ︙ | |||
70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #include "strerror.h" #include "url.h" #include "multiif.h" #include "inet_pton.h" #include "inet_ntop.h" #include "curl_threads.h" #include "connect.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" struct resdata { struct curltime start; | > | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | #include "strerror.h" #include "url.h" #include "multiif.h" #include "inet_pton.h" #include "inet_ntop.h" #include "curl_threads.h" #include "connect.h" #include "socketpair.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" struct resdata { struct curltime start; |
︙ | ︙ | |||
159 160 161 162 163 164 165 | struct thread_sync_data { curl_mutex_t * mtx; int done; char *hostname; /* hostname to resolve, Curl_async.hostname duplicate */ int port; | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | struct thread_sync_data { curl_mutex_t * mtx; int done; char *hostname; /* hostname to resolve, Curl_async.hostname duplicate */ int port; #ifdef USE_SOCKETPAIR struct connectdata *conn; curl_socket_t sock_pair[2]; /* socket pair */ #endif int sock_error; Curl_addrinfo *res; #ifdef HAVE_GETADDRINFO struct addrinfo hints; |
︙ | ︙ | |||
197 198 199 200 201 202 203 | } free(tsd->hostname); if(tsd->res) Curl_freeaddrinfo(tsd->res); | | | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | } free(tsd->hostname); if(tsd->res) Curl_freeaddrinfo(tsd->res); #ifdef USE_SOCKETPAIR /* * close one end of the socket pair (may be done in resolver thread); * the other end (for reading) is always closed in the parent thread. */ if(tsd->sock_pair[1] != CURL_SOCKET_BAD) { sclose(tsd->sock_pair[1]); } |
︙ | ︙ | |||
239 240 241 242 243 244 245 | tsd->mtx = malloc(sizeof(curl_mutex_t)); if(tsd->mtx == NULL) goto err_exit; Curl_mutex_init(tsd->mtx); | | | | | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 | tsd->mtx = malloc(sizeof(curl_mutex_t)); if(tsd->mtx == NULL) goto err_exit; Curl_mutex_init(tsd->mtx); #ifdef USE_SOCKETPAIR /* create socket pair, avoid AF_LOCAL since it doesn't build on Solaris */ if(Curl_socketpair(AF_UNIX, SOCK_STREAM, 0, &tsd->sock_pair[0]) < 0) { tsd->sock_pair[0] = CURL_SOCKET_BAD; tsd->sock_pair[1] = CURL_SOCKET_BAD; goto err_exit; } #endif tsd->sock_error = CURL_ASYNC_SUCCESS; |
︙ | ︙ | |||
293 294 295 296 297 298 299 | */ static unsigned int CURL_STDCALL getaddrinfo_thread(void *arg) { struct thread_sync_data *tsd = (struct thread_sync_data*)arg; struct thread_data *td = tsd->td; char service[12]; int rc; | | | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 | */ static unsigned int CURL_STDCALL getaddrinfo_thread(void *arg) { struct thread_sync_data *tsd = (struct thread_sync_data*)arg; struct thread_data *td = tsd->td; char service[12]; int rc; #ifdef USE_SOCKETPAIR char buf[1]; #endif msnprintf(service, sizeof(service), "%d", tsd->port); rc = Curl_getaddrinfo_ex(tsd->hostname, service, &tsd->hints, &tsd->res); |
︙ | ︙ | |||
318 319 320 321 322 323 324 | if(tsd->done) { /* too late, gotta clean up the mess */ Curl_mutex_release(tsd->mtx); destroy_thread_sync_data(tsd); free(td); } else { | | | | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 | if(tsd->done) { /* too late, gotta clean up the mess */ Curl_mutex_release(tsd->mtx); destroy_thread_sync_data(tsd); free(td); } else { #ifdef USE_SOCKETPAIR if(tsd->sock_pair[1] != CURL_SOCKET_BAD) { /* DNS has been resolved, signal client task */ buf[0] = 1; if(swrite(tsd->sock_pair[1], buf, sizeof(buf)) < 0) { /* update sock_erro to errno */ tsd->sock_error = SOCKERRNO; } } #endif tsd->done = 1; Curl_mutex_release(tsd->mtx); |
︙ | ︙ | |||
378 379 380 381 382 383 384 | * destroy_async_data() cleans up async resolver data and thread handle. */ static void destroy_async_data(struct Curl_async *async) { if(async->os_specific) { struct thread_data *td = (struct thread_data*) async->os_specific; int done; | | | 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 | * destroy_async_data() cleans up async resolver data and thread handle. */ static void destroy_async_data(struct Curl_async *async) { if(async->os_specific) { struct thread_data *td = (struct thread_data*) async->os_specific; int done; #ifdef USE_SOCKETPAIR curl_socket_t sock_rd = td->tsd.sock_pair[0]; struct connectdata *conn = td->tsd.conn; #endif /* * if the thread is still blocking in the resolve syscall, detach it and * let the thread do the cleanup... |
︙ | ︙ | |||
403 404 405 406 407 408 409 | if(td->thread_hnd != curl_thread_t_null) Curl_thread_join(&td->thread_hnd); destroy_thread_sync_data(&td->tsd); free(async->os_specific); } | | | 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 | if(td->thread_hnd != curl_thread_t_null) Curl_thread_join(&td->thread_hnd); destroy_thread_sync_data(&td->tsd); free(async->os_specific); } #ifdef USE_SOCKETPAIR /* * ensure CURLMOPT_SOCKETFUNCTION fires CURL_POLL_REMOVE * before the FD is invalidated to avoid EBADF on EPOLL_CTL_DEL */ if(conn) Curl_multi_closed(conn->data, sock_rd); sclose(sock_rd); |
︙ | ︙ | |||
643 644 645 646 647 648 649 | curl_socket_t *socks) { int ret_val = 0; time_t milli; timediff_t ms; struct Curl_easy *data = conn->data; struct resdata *reslv = (struct resdata *)data->state.resolver; | | | | | 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 | curl_socket_t *socks) { int ret_val = 0; time_t milli; timediff_t ms; struct Curl_easy *data = conn->data; struct resdata *reslv = (struct resdata *)data->state.resolver; #ifdef USE_SOCKETPAIR struct thread_data *td = (struct thread_data*)conn->async.os_specific; #else (void)socks; #endif #ifdef USE_SOCKETPAIR if(td) { /* return read fd to client for polling the DNS resolution status */ socks[0] = td->tsd.sock_pair[0]; DEBUGASSERT(td->tsd.conn == conn || !td->tsd.conn); td->tsd.conn = conn; ret_val = GETSOCK_READSOCK(0); } else { #endif ms = Curl_timediff(Curl_now(), reslv->start); if(ms < 3) milli = 0; else if(ms <= 50) milli = (time_t)ms/3; else if(ms <= 250) milli = 50; else milli = 200; Curl_expire(data, milli, EXPIRE_ASYNC_NAME); #ifdef USE_SOCKETPAIR } #endif return ret_val; } |
︙ | ︙ |
Changes to jni/curl/lib/checksrc.pl.
︙ | ︙ | |||
172 173 174 175 176 177 178 | my $pref = (' ' x $col); print "${pref}^\n"; } } $file = shift @ARGV; | | | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | my $pref = (' ' x $col); print "${pref}^\n"; } } $file = shift @ARGV; while(defined $file) { if($file =~ /-D(.*)/) { $dir = $1; $file = shift @ARGV; next; } elsif($file =~ /-W(.*)/) { |
︙ | ︙ |
Changes to jni/curl/lib/config-amigaos.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_CONFIG_AMIGAOS_H #define HEADER_CURL_CONFIG_AMIGAOS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_CONFIG_AMIGAOS_H #define HEADER_CURL_CONFIG_AMIGAOS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
32 33 34 35 36 37 38 | #define HAVE_CLOSESOCKET_CAMEL 1 #define HAVE_ERRNO_H 1 #define HAVE_GETHOSTBYADDR 1 #define HAVE_INET_ADDR 1 #define HAVE_INTTYPES_H 1 #define HAVE_IOCTLSOCKET_CAMEL 1 #define HAVE_IOCTLSOCKET_CAMEL_FIONBIO 1 | < < | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #define HAVE_CLOSESOCKET_CAMEL 1 #define HAVE_ERRNO_H 1 #define HAVE_GETHOSTBYADDR 1 #define HAVE_INET_ADDR 1 #define HAVE_INTTYPES_H 1 #define HAVE_IOCTLSOCKET_CAMEL 1 #define HAVE_IOCTLSOCKET_CAMEL_FIONBIO 1 #define HAVE_LIBZ 1 #define HAVE_LONGLONG 1 #define HAVE_MALLOC_H 1 #define HAVE_MEMORY_H 1 #define HAVE_NETDB_H 1 #define HAVE_NETINET_IN_H 1 #define HAVE_NET_IF_H 1 |
︙ | ︙ |
Changes to jni/curl/lib/config-os400.h.
︙ | ︙ | |||
156 157 158 159 160 161 162 | /* Define if you have the `krb_get_our_ip_for_realm' function. */ #undef HAVE_KRB_GET_OUR_IP_FOR_REALM /* Define if you have the <krb.h> header file. */ #undef HAVE_KRB_H | < < < < < < | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | /* Define if you have the `krb_get_our_ip_for_realm' function. */ #undef HAVE_KRB_GET_OUR_IP_FOR_REALM /* Define if you have the <krb.h> header file. */ #undef HAVE_KRB_H /* Define if you have the `nsl' library (-lnsl). */ #undef HAVE_LIBNSL /* Define if you have the `resolv' library (-lresolv). */ #undef HAVE_LIBRESOLV /* Define if you have the `resolve' library (-lresolve). */ #undef HAVE_LIBRESOLVE /* Define if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET /* Define if you have GSS API. */ #define HAVE_GSSAPI /* Define if you have the GNU gssapi libraries */ #undef HAVE_GSSGNU /* Define if you have the Heimdal gssapi libraries */ |
︙ | ︙ |
Changes to jni/curl/lib/config-plan9.h.
︙ | ︙ | |||
122 123 124 125 126 127 128 | #define HAVE_GMTIME_R 1 #define HAVE_INET_ADDR 1 #define HAVE_INET_NTOP 1 #define HAVE_INET_PTON 1 #define HAVE_INTTYPES_H 1 #define HAVE_IOCTL 1 #define HAVE_LIBGEN_H 1 | < | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | #define HAVE_GMTIME_R 1 #define HAVE_INET_ADDR 1 #define HAVE_INET_NTOP 1 #define HAVE_INET_PTON 1 #define HAVE_INTTYPES_H 1 #define HAVE_IOCTL 1 #define HAVE_LIBGEN_H 1 #define HAVE_LIBZ 1 #define HAVE_LL 1 #define HAVE_LOCALE_H 1 #define HAVE_LOCALTIME_R 1 #define HAVE_LONGLONG 1 #define HAVE_NETDB_H 1 #define HAVE_NETINET_IN_H 1 |
︙ | ︙ |
Changes to jni/curl/lib/config-riscos.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_CONFIG_RISCOS_H #define HEADER_CURL_CONFIG_RISCOS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_CONFIG_RISCOS_H #define HEADER_CURL_CONFIG_RISCOS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
160 161 162 163 164 165 166 | /* Define if you have the `krb_get_our_ip_for_realm' function. */ #undef HAVE_KRB_GET_OUR_IP_FOR_REALM /* Define if you have the <krb.h> header file. */ #undef HAVE_KRB_H | < < < < < < | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | /* Define if you have the `krb_get_our_ip_for_realm' function. */ #undef HAVE_KRB_GET_OUR_IP_FOR_REALM /* Define if you have the <krb.h> header file. */ #undef HAVE_KRB_H /* Define if you have the `nsl' library (-lnsl). */ #undef HAVE_LIBNSL /* Define if you have the `resolv' library (-lresolv). */ #undef HAVE_LIBRESOLV /* Define if you have the `resolve' library (-lresolve). */ #undef HAVE_LIBRESOLVE /* Define if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET /* Define if you have the `ucb' library (-lucb). */ #undef HAVE_LIBUCB /* Define if you have the `localtime_r' function. */ #undef HAVE_LOCALTIME_R /* Define if you have the <malloc.h> header file. */ |
︙ | ︙ |
Changes to jni/curl/lib/config-symbian.h.
︙ | ︙ | |||
311 312 313 314 315 316 317 | /* Define to 1 if you have the `ssh2' library (-lssh2). */ /*#define HAVE_LIBSSH2 1*/ /* Define to 1 if you have the <libssh2.h> header file. */ /*#define HAVE_LIBSSH2_H 1*/ | < < < | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 | /* Define to 1 if you have the `ssh2' library (-lssh2). */ /*#define HAVE_LIBSSH2 1*/ /* Define to 1 if you have the <libssh2.h> header file. */ /*#define HAVE_LIBSSH2_H 1*/ /* if your compiler supports LL */ #define HAVE_LL 1 /* Define to 1 if you have the <locale.h> header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ |
︙ | ︙ |
Changes to jni/curl/lib/config-tpf.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_CONFIG_TPF_H #define HEADER_CURL_CONFIG_TPF_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_CONFIG_TPF_H #define HEADER_CURL_CONFIG_TPF_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
273 274 275 276 277 278 279 | /* Define to 1 if you have the `resolve' library (-lresolve). */ /* #undef HAVE_LIBRESOLVE */ /* Define to 1 if you have the `socket' library (-lsocket). */ /* #undef HAVE_LIBSOCKET */ | < < < < | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | /* Define to 1 if you have the `resolve' library (-lresolve). */ /* #undef HAVE_LIBRESOLVE */ /* Define to 1 if you have the `socket' library (-lsocket). */ /* #undef HAVE_LIBSOCKET */ /* if zlib is available */ /* #undef HAVE_LIBZ */ /* if your compiler supports LL */ #define HAVE_LL 1 /* Define to 1 if you have the <locale.h> header file. */ |
︙ | ︙ |
Changes to jni/curl/lib/config-vxworks.h.
︙ | ︙ | |||
371 372 373 374 375 376 377 | /* Define to 1 if you have the <libssh2.h> header file. */ /* #undef HAVE_LIBSSH2_H */ /* Define to 1 if you have the `libssh2_version' function. */ /* #undef HAVE_LIBSSH2_VERSION */ | < < < | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 | /* Define to 1 if you have the <libssh2.h> header file. */ /* #undef HAVE_LIBSSH2_H */ /* Define to 1 if you have the `libssh2_version' function. */ /* #undef HAVE_LIBSSH2_VERSION */ /* if zlib is available */ #define HAVE_LIBZ 1 /* if your compiler supports LL */ #define HAVE_LL 1 /* Define to 1 if you have the <locale.h> header file. */ |
︙ | ︙ |
Changes to jni/curl/lib/conncache.c.
︙ | ︙ | |||
139 140 141 142 143 144 145 | /* allocate a new easy handle to use when closing cached connections */ connc->closure_handle = curl_easy_init(); if(!connc->closure_handle) return 1; /* bad */ rc = Curl_hash_init(&connc->hash, size, Curl_hash_str, Curl_str_key_compare, free_bundle_hash_entry); | | < | < | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | /* allocate a new easy handle to use when closing cached connections */ connc->closure_handle = curl_easy_init(); if(!connc->closure_handle) return 1; /* bad */ rc = Curl_hash_init(&connc->hash, size, Curl_hash_str, Curl_str_key_compare, free_bundle_hash_entry); if(rc) Curl_close(&connc->closure_handle); else connc->closure_handle->state.conn_cache = connc; return rc; } void Curl_conncache_destroy(struct conncache *connc) |
︙ | ︙ | |||
591 592 593 594 595 596 597 | if(connc->closure_handle) { SIGPIPE_VARIABLE(pipe_st); sigpipe_ignore(connc->closure_handle, &pipe_st); Curl_hostcache_clean(connc->closure_handle, connc->closure_handle->dns.hostcache); | | | 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 | if(connc->closure_handle) { SIGPIPE_VARIABLE(pipe_st); sigpipe_ignore(connc->closure_handle, &pipe_st); Curl_hostcache_clean(connc->closure_handle, connc->closure_handle->dns.hostcache); Curl_close(&connc->closure_handle); sigpipe_restore(&pipe_st); } } #if 0 /* Useful for debugging the connection cache */ void Curl_conncache_print(struct conncache *connc) |
︙ | ︙ |
Changes to jni/curl/lib/connect.c.
︙ | ︙ | |||
661 662 663 664 665 666 667 | *port = us_port; return TRUE; } break; #endif #if defined(HAVE_SYS_UN_H) && defined(AF_UNIX) case AF_UNIX: | | | 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 | *port = us_port; return TRUE; } break; #endif #if defined(HAVE_SYS_UN_H) && defined(AF_UNIX) case AF_UNIX: if(salen > (curl_socklen_t)sizeof(sa_family_t)) { su = (struct sockaddr_un*)sa; msnprintf(addr, MAX_IPADR_LEN, "%s", su->sun_path); } else addr[0] = 0; /* socket with no name */ *port = 0; return TRUE; |
︙ | ︙ | |||
972 973 974 975 976 977 978 979 980 981 982 983 984 985 | hostname = conn->conn_to_host.name; else hostname = conn->host.name; failf(data, "Failed to connect to %s port %ld: %s", hostname, conn->port, Curl_strerror(error, buffer, sizeof(buffer))); } return result; } static void tcpnodelay(struct connectdata *conn, curl_socket_t sockfd) { | > > > > > > > > | 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 | hostname = conn->conn_to_host.name; else hostname = conn->host.name; failf(data, "Failed to connect to %s port %ld: %s", hostname, conn->port, Curl_strerror(error, buffer, sizeof(buffer))); #ifdef WSAETIMEDOUT if(WSAETIMEDOUT == data->state.os_errno) result = CURLE_OPERATION_TIMEDOUT; #elif defined(ETIMEDOUT) if(ETIMEDOUT == data->state.os_errno) result = CURLE_OPERATION_TIMEDOUT; #endif } return result; } static void tcpnodelay(struct connectdata *conn, curl_socket_t sockfd) { |
︙ | ︙ | |||
1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 | else /* opensocket callback not set, so simply create the socket now */ *sockfd = socket(addr->family, addr->socktype, addr->protocol); if(*sockfd == CURL_SOCKET_BAD) /* no socket, no connection */ return CURLE_COULDNT_CONNECT; #if defined(ENABLE_IPV6) && defined(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID) if(conn->scope_id && (addr->family == AF_INET6)) { struct sockaddr_in6 * const sa6 = (void *)&addr->sa_addr; sa6->sin6_scope_id = conn->scope_id; } #endif | > > > > > | 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 | else /* opensocket callback not set, so simply create the socket now */ *sockfd = socket(addr->family, addr->socktype, addr->protocol); if(*sockfd == CURL_SOCKET_BAD) /* no socket, no connection */ return CURLE_COULDNT_CONNECT; if(conn->transport == TRNSPRT_QUIC) { /* QUIC sockets need to be nonblocking */ (void)curlx_nonblock(*sockfd, TRUE); } #if defined(ENABLE_IPV6) && defined(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID) if(conn->scope_id && (addr->family == AF_INET6)) { struct sockaddr_in6 * const sa6 = (void *)&addr->sa_addr; sa6->sin6_scope_id = conn->scope_id; } #endif |
︙ | ︙ |
Changes to jni/curl/lib/cookie.c.
︙ | ︙ | |||
1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 | * * Curl_cookie_init() * * Inits a cookie struct to read data from a local file. This is always * called before any cookies are set. File may be NULL. * * If 'newsession' is TRUE, discard all "session cookies" on read from file. * * Returns NULL on out of memory. Invalid cookies are ignored. ****************************************************************************/ struct CookieInfo *Curl_cookie_init(struct Curl_easy *data, const char *file, struct CookieInfo *inc, bool newsession) | > > | 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 | * * Curl_cookie_init() * * Inits a cookie struct to read data from a local file. This is always * called before any cookies are set. File may be NULL. * * If 'newsession' is TRUE, discard all "session cookies" on read from file. * * Note that 'data' might be called as NULL pointer. * * Returns NULL on out of memory. Invalid cookies are ignored. ****************************************************************************/ struct CookieInfo *Curl_cookie_init(struct Curl_easy *data, const char *file, struct CookieInfo *inc, bool newsession) |
︙ | ︙ | |||
1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 | remove_expired(c); /* run this once, not on every cookie */ if(fromfile) fclose(fp); } c->running = TRUE; /* now, we're running */ return c; fail: free(line); if(!inc) /* Only clean up if we allocated it here, as the original could still be in | > > | 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 | remove_expired(c); /* run this once, not on every cookie */ if(fromfile) fclose(fp); } c->running = TRUE; /* now, we're running */ if(data) data->state.cookie_engine = TRUE; return c; fail: free(line); if(!inc) /* Only clean up if we allocated it here, as the original could still be in |
︙ | ︙ | |||
1524 1525 1526 1527 1528 1529 1530 | fputs("# Netscape HTTP Cookie File\n" "# https://curl.haxx.se/docs/http-cookies.html\n" "# This file was generated by libcurl! Edit at your own risk.\n\n", out); if(c->numcookies) { unsigned int i; | | | | | | | | 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 | fputs("# Netscape HTTP Cookie File\n" "# https://curl.haxx.se/docs/http-cookies.html\n" "# This file was generated by libcurl! Edit at your own risk.\n\n", out); if(c->numcookies) { unsigned int i; size_t nvalid = 0; struct Cookie **array; array = calloc(1, sizeof(struct Cookie *) * c->numcookies); if(!array) { if(!use_stdout) fclose(out); return 1; } /* only sort the cookies with a domain property */ for(i = 0; i < COOKIE_HASH_SIZE; i++) { for(co = c->cookies[i]; co; co = co->next) { if(!co->domain) continue; array[nvalid++] = co; } } qsort(array, nvalid, sizeof(struct Cookie *), cookie_sort_ct); for(i = 0; i < nvalid; i++) { char *format_ptr = get_netscape_format(array[i]); if(format_ptr == NULL) { fprintf(out, "#\n# Fatal libcurl error\n"); free(array); if(!use_stdout) fclose(out); return 1; |
︙ | ︙ | |||
1609 1610 1611 1612 1613 1614 1615 | struct curl_slist *list; Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); list = cookie_list(data); Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE); return list; } | | | 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 | struct curl_slist *list; Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); list = cookie_list(data); Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE); return list; } void Curl_flush_cookies(struct Curl_easy *data, bool cleanup) { if(data->set.str[STRING_COOKIEJAR]) { if(data->change.cookielist) { /* If there is a list of cookie files to read, do it first so that we have all the told files read before we write the new jar. Curl_cookie_loadfiles() LOCKS and UNLOCKS the share itself! */ Curl_cookie_loadfiles(data); |
︙ | ︙ | |||
1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 | data->change.cookielist = NULL; } Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); } if(cleanup && (!data->share || (data->cookies != data->share->cookies))) { Curl_cookie_cleanup(data->cookies); } Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE); } #endif /* CURL_DISABLE_HTTP || CURL_DISABLE_COOKIES */ | > | 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 | data->change.cookielist = NULL; } Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); } if(cleanup && (!data->share || (data->cookies != data->share->cookies))) { Curl_cookie_cleanup(data->cookies); data->cookies = NULL; } Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE); } #endif /* CURL_DISABLE_HTTP || CURL_DISABLE_COOKIES */ |
Changes to jni/curl/lib/cookie.h.
︙ | ︙ | |||
105 106 107 108 109 110 111 | #if defined(CURL_DISABLE_HTTP) || defined(CURL_DISABLE_COOKIES) #define Curl_cookie_list(x) NULL #define Curl_cookie_loadfiles(x) Curl_nop_stmt #define Curl_cookie_init(x,y,z,w) NULL #define Curl_cookie_cleanup(x) Curl_nop_stmt #define Curl_flush_cookies(x,y) Curl_nop_stmt #else | | | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | #if defined(CURL_DISABLE_HTTP) || defined(CURL_DISABLE_COOKIES) #define Curl_cookie_list(x) NULL #define Curl_cookie_loadfiles(x) Curl_nop_stmt #define Curl_cookie_init(x,y,z,w) NULL #define Curl_cookie_cleanup(x) Curl_nop_stmt #define Curl_flush_cookies(x,y) Curl_nop_stmt #else void Curl_flush_cookies(struct Curl_easy *data, bool cleanup); void Curl_cookie_cleanup(struct CookieInfo *); struct CookieInfo *Curl_cookie_init(struct Curl_easy *data, const char *, struct CookieInfo *, bool); struct curl_slist *Curl_cookie_list(struct Curl_easy *data); void Curl_cookie_loadfiles(struct Curl_easy *data); #endif |
︙ | ︙ |
Changes to jni/curl/lib/curl_config.h.cmake.
︙ | ︙ | |||
403 404 405 406 407 408 409 | /* Define to 1 if libssh2 provides `libssh2_session_handshake'. */ #cmakedefine HAVE_LIBSSH2_SESSION_HANDSHAKE 1 /* Define to 1 if you have the <libssh2.h> header file. */ #cmakedefine HAVE_LIBSSH2_H 1 | < < < | 403 404 405 406 407 408 409 410 411 412 413 414 415 416 | /* Define to 1 if libssh2 provides `libssh2_session_handshake'. */ #cmakedefine HAVE_LIBSSH2_SESSION_HANDSHAKE 1 /* Define to 1 if you have the <libssh2.h> header file. */ #cmakedefine HAVE_LIBSSH2_H 1 /* if zlib is available */ #cmakedefine HAVE_LIBZ 1 /* if brotli is available */ #cmakedefine HAVE_BROTLI 1 /* if your compiler supports LL */ |
︙ | ︙ |
Changes to jni/curl/lib/curl_config.h.in.
︙ | ︙ | |||
623 624 625 626 627 628 629 630 631 632 633 634 635 636 | #undef HAVE_SOCKETPAIR /* Define to 1 if you have the <socket.h> header file. */ #undef HAVE_SOCKET_H /* Define to 1 if you have the `SSLv2_client_method' function. */ #undef HAVE_SSLV2_CLIENT_METHOD /* Define to 1 if you have the <ssl.h> header file. */ #undef HAVE_SSL_H /* Define to 1 if you have the <stdbool.h> header file. */ #undef HAVE_STDBOOL_H | > > > | 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 | #undef HAVE_SOCKETPAIR /* Define to 1 if you have the <socket.h> header file. */ #undef HAVE_SOCKET_H /* Define to 1 if you have the `SSLv2_client_method' function. */ #undef HAVE_SSLV2_CLIENT_METHOD /* Define to 1 if you have the `SSL_get_esni_status' function. */ #undef HAVE_SSL_GET_ESNI_STATUS /* Define to 1 if you have the <ssl.h> header file. */ #undef HAVE_SSL_H /* Define to 1 if you have the <stdbool.h> header file. */ #undef HAVE_STDBOOL_H |
︙ | ︙ | |||
947 948 949 950 951 952 953 954 955 956 957 958 959 960 | #undef USE_ALTSVC /* if AmiSSL is in use */ #undef USE_AMISSL /* Define to enable c-ares support */ #undef USE_ARES /* if GnuTLS is enabled */ #undef USE_GNUTLS /* if GnuTLS uses nettle as crypto backend */ #undef USE_GNUTLS_NETTLE | > > > | 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 | #undef USE_ALTSVC /* if AmiSSL is in use */ #undef USE_AMISSL /* Define to enable c-ares support */ #undef USE_ARES /* if ESNI support is available */ #undef USE_ESNI /* if GnuTLS is enabled */ #undef USE_GNUTLS /* if GnuTLS uses nettle as crypto backend */ #undef USE_GNUTLS_NETTLE |
︙ | ︙ |
Changes to jni/curl/lib/doh.c.
︙ | ︙ | |||
70 71 72 73 74 75 76 77 78 79 80 81 82 | #ifdef DEBUGBUILD #define UNITTEST #else #define UNITTEST static #endif UNITTEST DOHcode doh_encode(const char *host, DNStype dnstype, unsigned char *dnsp, /* buffer */ size_t len, /* buffer size */ size_t *olen) /* output length */ { | > > | > > > > > > > | | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | #ifdef DEBUGBUILD #define UNITTEST #else #define UNITTEST static #endif /* @unittest 1655 */ UNITTEST DOHcode doh_encode(const char *host, DNStype dnstype, unsigned char *dnsp, /* buffer */ size_t len, /* buffer size */ size_t *olen) /* output length */ { const size_t hostlen = strlen(host); unsigned char *orig = dnsp; const char *hostp = host; /* The expected output length does not depend on the number of dots within * the host name. It will always be two more than the length of the host * name, one for the size and one trailing null. In case there are dots, * each dot adds one size but removes the need to store the dot, net zero. */ const size_t expected_len = 12 + ( 1 + hostlen + 1) + 4; if(len < expected_len) return DOH_TOO_SMALL_BUFFER; *dnsp++ = 0; /* 16 bit id */ *dnsp++ = 0; *dnsp++ = 0x01; /* |QR| Opcode |AA|TC|RD| Set the RD bit */ *dnsp++ = '\0'; /* |RA| Z | RCODE | */ *dnsp++ = '\0'; |
︙ | ︙ | |||
122 123 124 125 126 127 128 | hostp += labellen + 1; if(!found) { *dnsp++ = 0; /* terminating zero */ break; } } while(1); | > | | > > > > > | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | hostp += labellen + 1; if(!found) { *dnsp++ = 0; /* terminating zero */ break; } } while(1); /* There are assigned TYPE codes beyond 255: use range [1..65535] */ *dnsp++ = (unsigned char)(255 & (dnstype>>8)); /* upper 8 bit TYPE */ *dnsp++ = (unsigned char)(255 & dnstype); /* lower 8 bit TYPE */ *dnsp++ = '\0'; /* upper 8 bit CLASS */ *dnsp++ = DNS_CLASS_IN; /* IN - "the Internet" */ *olen = dnsp - orig; /* verify that our assumption of length is valid, since * this has lead to buffer overflows in this function */ DEBUGASSERT(*olen == expected_len); return DOH_OK; } static size_t doh_write_cb(void *contents, size_t size, size_t nmemb, void *userp) { size_t realsize = size * nmemb; |
︙ | ︙ | |||
221 222 223 224 225 226 227 | result = CURLE_OUT_OF_MEMORY; goto error; } url = nurl; } timeout_ms = Curl_timeleft(data, NULL, TRUE); | > > > | > > > | 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | result = CURLE_OUT_OF_MEMORY; goto error; } url = nurl; } timeout_ms = Curl_timeleft(data, NULL, TRUE); if(timeout_ms <= 0) { result = CURLE_OPERATION_TIMEDOUT; goto error; } /* Curl_open() is the internal version of curl_easy_init() */ result = Curl_open(&doh); if(!result) { /* pass in the struct pointer via a local variable to please coverity and the gcc typecheck helpers */ struct dohresponse *resp = &p->serverdoh; ERROR_CHECK_SETOPT(CURLOPT_URL, url); ERROR_CHECK_SETOPT(CURLOPT_WRITEFUNCTION, doh_write_cb); ERROR_CHECK_SETOPT(CURLOPT_WRITEDATA, resp); if(!data->set.doh_get) { ERROR_CHECK_SETOPT(CURLOPT_POSTFIELDS, p->dohbuffer); ERROR_CHECK_SETOPT(CURLOPT_POSTFIELDSIZE, (long)p->dohlen); } ERROR_CHECK_SETOPT(CURLOPT_HTTPHEADER, headers); #ifdef USE_NGHTTP2 ERROR_CHECK_SETOPT(CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS); #endif #ifndef CURLDEBUG /* enforce HTTPS if not debug */ ERROR_CHECK_SETOPT(CURLOPT_PROTOCOLS, CURLPROTO_HTTPS); #else /* in debug mode, also allow http */ ERROR_CHECK_SETOPT(CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS); #endif ERROR_CHECK_SETOPT(CURLOPT_TIMEOUT_MS, (long)timeout_ms); if(data->set.verbose) ERROR_CHECK_SETOPT(CURLOPT_VERBOSE, 1L); if(data->set.no_signal) ERROR_CHECK_SETOPT(CURLOPT_NOSIGNAL, 1L); |
︙ | ︙ | |||
321 322 323 324 325 326 327 | else goto error; free(nurl); return CURLE_OK; error: free(nurl); | | | 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | else goto error; free(nurl); return CURLE_OK; error: free(nurl); Curl_close(&doh); return result; } /* * Curl_doh() resolves a name using DOH. It resolves a name and returns a * 'Curl_addrinfo *' with the address information. */ |
︙ | ︙ | |||
377 378 379 380 381 382 383 | data->req.doh.pending++; } return NULL; error: curl_slist_free_all(data->req.doh.headers); data->req.doh.headers = NULL; | < | < | | 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 | data->req.doh.pending++; } return NULL; error: curl_slist_free_all(data->req.doh.headers); data->req.doh.headers = NULL; Curl_close(&data->req.doh.probe[0].easy); Curl_close(&data->req.doh.probe[1].easy); return NULL; } static DOHcode skipqname(unsigned char *doh, size_t dohlen, unsigned int *indexp) { unsigned char length; |
︙ | ︙ | |||
415 416 417 418 419 420 421 | static unsigned short get16bit(unsigned char *doh, int index) { return (unsigned short)((doh[index] << 8) | doh[index + 1]); } static unsigned int get32bit(unsigned char *doh, int index) { | > > > | > > > | | 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 | static unsigned short get16bit(unsigned char *doh, int index) { return (unsigned short)((doh[index] << 8) | doh[index + 1]); } static unsigned int get32bit(unsigned char *doh, int index) { /* make clang and gcc optimize this to bswap by incrementing the pointer first. */ doh += index; /* avoid undefined behaviour by casting to unsigned before shifting 24 bits, possibly into the sign bit. codegen is same, but ub sanitizer won't be upset */ return ( (unsigned)doh[0] << 24) | (doh[1] << 16) |(doh[2] << 8) | doh[3]; } static DOHcode store_a(unsigned char *doh, int index, struct dohentry *d) { /* silently ignore addresses over the limit */ if(d->numaddr < DOH_MAX_ADDR) { struct dohaddr *a = &d->addr[d->numaddr]; |
︙ | ︙ | |||
894 895 896 897 898 899 900 | } else if(!data->req.doh.pending) { DOHcode rc; DOHcode rc2; struct dohentry de; /* remove DOH handles from multi handle and close them */ curl_multi_remove_handle(data->multi, data->req.doh.probe[0].easy); | | | < | | | 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 | } else if(!data->req.doh.pending) { DOHcode rc; DOHcode rc2; struct dohentry de; /* remove DOH handles from multi handle and close them */ curl_multi_remove_handle(data->multi, data->req.doh.probe[0].easy); Curl_close(&data->req.doh.probe[0].easy); curl_multi_remove_handle(data->multi, data->req.doh.probe[1].easy); Curl_close(&data->req.doh.probe[1].easy); /* parse the responses, create the struct and return it! */ init_dohentry(&de); rc = doh_decode(data->req.doh.probe[0].serverdoh.memory, data->req.doh.probe[0].serverdoh.size, data->req.doh.probe[0].dnstype, &de); Curl_safefree(data->req.doh.probe[0].serverdoh.memory); if(rc) { infof(data, "DOH: %s type %s for %s\n", doh_strerror(rc), type2name(data->req.doh.probe[0].dnstype), data->req.doh.host); } rc2 = doh_decode(data->req.doh.probe[1].serverdoh.memory, data->req.doh.probe[1].serverdoh.size, data->req.doh.probe[1].dnstype, &de); Curl_safefree(data->req.doh.probe[1].serverdoh.memory); if(rc2) { infof(data, "DOH: %s type %s for %s\n", doh_strerror(rc2), type2name(data->req.doh.probe[1].dnstype), data->req.doh.host); } if(!rc || !rc2) { struct Curl_dns_entry *dns; |
︙ | ︙ |
Changes to jni/curl/lib/easy.c.
︙ | ︙ | |||
727 728 729 730 731 732 733 | { SIGPIPE_VARIABLE(pipe_st); if(!data) return; sigpipe_ignore(data, &pipe_st); | | | 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 | { SIGPIPE_VARIABLE(pipe_st); if(!data) return; sigpipe_ignore(data, &pipe_st); Curl_close(&data); sigpipe_restore(&pipe_st); } /* * curl_easy_getinfo() is an external interface that allows an app to retrieve * information from a performed transfer and similar. */ |
︙ | ︙ | |||
1016 1017 1018 1019 1020 1021 1022 | if(result) return result; } /* if there's no error and we're not pausing both directions, we want to have this handle checked soon */ | < | | | 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 | if(result) return result; } /* if there's no error and we're not pausing both directions, we want to have this handle checked soon */ if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) != (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) { Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */ if(data->multi) Curl_update_timer(data->multi); } /* This transfer may have been moved in or out of the bundle, update the corresponding socket callback, if used */ |
︙ | ︙ |
Changes to jni/curl/lib/ftp.c.
︙ | ︙ | |||
519 520 521 522 523 524 525 | result = InitiateTransfer(conn); if(result) return result; } else { /* Add timeout to multi handle and break out of the loop */ | | | 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 | result = InitiateTransfer(conn); if(result) return result; } else { /* Add timeout to multi handle and break out of the loop */ if(*connected == FALSE) { Curl_expire(data, data->set.accepttimeout > 0 ? data->set.accepttimeout: DEFAULT_ACCEPT_TIMEOUT, 0); } } return result; } |
︙ | ︙ | |||
863 864 865 866 867 868 869 870 871 872 873 874 875 876 | CURLcode result = CURLE_OK; struct ftp_conn *ftpc = &conn->proto.ftpc; if(ftpc->cwddone) /* already done and fine */ result = ftp_state_mdtm(conn); else { ftpc->count2 = 0; /* count2 counts failed CWDs */ /* count3 is set to allow a MKD to fail once. In the case when first CWD fails and then MKD fails (due to another session raced it to create the dir) this then allows for a second try to CWD to it */ ftpc->count3 = (conn->data->set.ftp_create_missing_dirs == 2)?1:0; | > > > > < < < | > > | 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 | CURLcode result = CURLE_OK; struct ftp_conn *ftpc = &conn->proto.ftpc; if(ftpc->cwddone) /* already done and fine */ result = ftp_state_mdtm(conn); else { /* FTPFILE_NOCWD with full path: expect ftpc->cwddone! */ DEBUGASSERT((conn->data->set.ftp_filemethod != FTPFILE_NOCWD) || !(ftpc->dirdepth && ftpc->dirs[0][0] == '/')); ftpc->count2 = 0; /* count2 counts failed CWDs */ /* count3 is set to allow a MKD to fail once. In the case when first CWD fails and then MKD fails (due to another session raced it to create the dir) this then allows for a second try to CWD to it */ ftpc->count3 = (conn->data->set.ftp_create_missing_dirs == 2)?1:0; if(conn->bits.reuse && ftpc->entrypath && /* no need to go to entrypath when we have an absolute path */ !(ftpc->dirdepth && ftpc->dirs[0][0] == '/')) { /* This is a re-used connection. Since we change directory to where the transfer is taking place, we must first get back to the original dir where we ended up after login: */ ftpc->cwdcount = 0; /* we count this as the first path, then we add one for all upcoming ones in the ftp->dirs[] array */ PPSENDF(&conn->proto.ftpc.pp, "CWD %s", ftpc->entrypath); state(conn, FTP_CWD); |
︙ | ︙ | |||
1432 1433 1434 1435 1436 1437 1438 | /* If this output is to be machine-parsed, the NLST command might be better to use, since the LIST command output is not specified or standard in any way. It has turned out that the NLST list output is not the same on all servers either... */ /* | | < > | < < | > > | > > | < > | | | | > > | | > > | | > | < | < < < | 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 | /* If this output is to be machine-parsed, the NLST command might be better to use, since the LIST command output is not specified or standard in any way. It has turned out that the NLST list output is not the same on all servers either... */ /* if FTPFILE_NOCWD was specified, we should add the path as argument for the LIST / NLST / or custom command. Whether the server will support this, is uncertain. The other ftp_filemethods will CWD into dir/dir/ first and then just do LIST (in that case: nothing to do here) */ char *lstArg = NULL; char *cmd; if((data->set.ftp_filemethod == FTPFILE_NOCWD) && ftp->path) { /* url-decode before evaluation: e.g. paths starting/ending with %2f */ const char *slashPos = NULL; char *rawPath = NULL; result = Curl_urldecode(data, ftp->path, 0, &rawPath, NULL, TRUE); if(result) return result; slashPos = strrchr(rawPath, '/'); if(slashPos) { /* chop off the file part if format is dir/file otherwise remove the trailing slash for dir/dir/ except for absolute path / */ size_t n = slashPos - rawPath; if(n == 0) ++n; lstArg = rawPath; lstArg[n] = '\0'; } else free(rawPath); } cmd = aprintf("%s%s%s", data->set.str[STRING_CUSTOMREQUEST]? data->set.str[STRING_CUSTOMREQUEST]: (data->set.ftp_list_only?"NLST":"LIST"), lstArg? " ": "", lstArg? lstArg: ""); free(lstArg); if(!cmd) return CURLE_OUT_OF_MEMORY; result = Curl_pp_sendf(&conn->proto.ftpc.pp, "%s", cmd); free(cmd); if(result) return result; state(conn, FTP_LIST); |
︙ | ︙ | |||
2238 2239 2240 2241 2242 2243 2244 | { CURLcode result = CURLE_OK; struct Curl_easy *data = conn->data; curl_off_t filesize = -1; char *buf = data->state.buffer; /* get the size from the ascii string: */ | | > > > > > > > > > > > > > > | > > | 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 | { CURLcode result = CURLE_OK; struct Curl_easy *data = conn->data; curl_off_t filesize = -1; char *buf = data->state.buffer; /* get the size from the ascii string: */ if(ftpcode == 213) { /* To allow servers to prepend "rubbish" in the response string, we scan for all the digits at the end of the response and parse only those as a number. */ char *start = &buf[4]; char *fdigit = strchr(start, '\r'); if(fdigit) { do fdigit--; while(ISDIGIT(*fdigit) && (fdigit > start)); if(!ISDIGIT(*fdigit)) fdigit++; } else fdigit = start; /* ignores parsing errors, which will make the size remain unknown */ (void)curlx_strtoofft(fdigit, NULL, 0, &filesize); } if(instate == FTP_SIZE) { #ifdef CURL_FTP_HTTPSTYLE_HEAD if(-1 != filesize) { char clbuf[128]; msnprintf(clbuf, sizeof(clbuf), "Content-Length: %" CURL_FORMAT_CURL_OFF_T "\r\n", filesize); |
︙ | ︙ | |||
3111 3112 3113 3114 3115 3116 3117 | struct Curl_easy *data = conn->data; struct FTP *ftp = data->req.protop; struct ftp_conn *ftpc = &conn->proto.ftpc; struct pingpong *pp = &ftpc->pp; ssize_t nread; int ftpcode; CURLcode result = CURLE_OK; | | > | 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 | struct Curl_easy *data = conn->data; struct FTP *ftp = data->req.protop; struct ftp_conn *ftpc = &conn->proto.ftpc; struct pingpong *pp = &ftpc->pp; ssize_t nread; int ftpcode; CURLcode result = CURLE_OK; char *rawPath = NULL; size_t pathLen = 0; if(!ftp) return CURLE_OK; switch(status) { case CURLE_BAD_DOWNLOAD_RESUME: case CURLE_FTP_WEIRD_PASV_REPLY: |
︙ | ︙ | |||
3149 3150 3151 3152 3153 3154 3155 | ftpc->cwdfail = TRUE; /* set this TRUE to prevent us to remember the current path, as this connection is going */ connclose(conn, "FTP ended with bad error code"); result = status; /* use the already set error code */ break; } | < < < | | > > > > | | | | | < | | > | > | | < | < < > > | | | < < < | < | 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 | ftpc->cwdfail = TRUE; /* set this TRUE to prevent us to remember the current path, as this connection is going */ connclose(conn, "FTP ended with bad error code"); result = status; /* use the already set error code */ break; } if(data->state.wildcardmatch) { if(data->set.chunk_end && ftpc->file) { Curl_set_in_callback(data, true); data->set.chunk_end(data->wildcard.customptr); Curl_set_in_callback(data, false); } ftpc->known_filesize = -1; } if(!result) /* get the url-decoded "raw" path */ result = Curl_urldecode(data, ftp->path, 0, &rawPath, &pathLen, TRUE); if(result) { /* We can limp along anyway (and should try to since we may already be in * the error path) */ ftpc->ctl_valid = FALSE; /* mark control connection as bad */ connclose(conn, "FTP: out of memory!"); /* mark for connection closure */ free(ftpc->prevpath); ftpc->prevpath = NULL; /* no path remembering */ } else { /* remember working directory for connection reuse */ if((data->set.ftp_filemethod == FTPFILE_NOCWD) && (rawPath[0] == '/')) free(rawPath); /* full path => no CWDs happened => keep ftpc->prevpath */ else { free(ftpc->prevpath); if(!ftpc->cwdfail) { if(data->set.ftp_filemethod == FTPFILE_NOCWD) pathLen = 0; /* relative path => working directory is FTP home */ else pathLen -= ftpc->file?strlen(ftpc->file):0; /* file is url-decoded */ rawPath[pathLen] = '\0'; ftpc->prevpath = rawPath; } else { free(rawPath); ftpc->prevpath = NULL; /* no path */ } } if(ftpc->prevpath) infof(data, "Remembering we are in dir \"%s\"\n", ftpc->prevpath); } /* free the dir tree and file parts */ freedirs(ftpc); /* shut down the socket to inform the server we're done */ #ifdef _WIN32_WCE shutdown(conn->sock[SECONDARYSOCKET], 2); /* SD_BOTH */ |
︙ | ︙ | |||
3509 3510 3511 3512 3513 3514 3515 | They are only done to kickstart the do_more state */ result = ftp_multi_statemach(conn, &complete); *completep = (int)complete; /* if we got an error or if we don't wait for a data connection return immediately */ | | < | | | | | 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 | They are only done to kickstart the do_more state */ result = ftp_multi_statemach(conn, &complete); *completep = (int)complete; /* if we got an error or if we don't wait for a data connection return immediately */ if(result || !ftpc->wait_data_conn) return result; /* if we reach the end of the FTP state machine here, *complete will be TRUE but so is ftpc->wait_data_conn, which says we need to wait for the data connection and therefore we're not actually complete */ *completep = 0; } if(ftp->transfer <= FTPTRANSFER_INFO) { /* a transfer is about to take place, or if not a file name was given so we'll do a SIZE on it later and then we need the right TYPE first */ if(ftpc->wait_data_conn == TRUE) { |
︙ | ︙ | |||
3550 3551 3552 3553 3554 3555 3556 | } else if(data->set.upload) { result = ftp_nb_type(conn, data->set.prefer_ascii, FTP_STOR_TYPE); if(result) return result; result = ftp_multi_statemach(conn, &complete); | | < < < < < | | 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 | } else if(data->set.upload) { result = ftp_nb_type(conn, data->set.prefer_ascii, FTP_STOR_TYPE); if(result) return result; result = ftp_multi_statemach(conn, &complete); /* ftpc->wait_data_conn is always false here */ *completep = (int)complete; } else { /* download */ ftp->downloadsize = -1; /* unknown as of yet */ result = Curl_range(conn); |
︙ | ︙ | |||
3596 3597 3598 3599 3600 3601 3602 | result = ftp_multi_statemach(conn, &complete); *completep = (int)complete; } return result; } | < | < | | 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 | result = ftp_multi_statemach(conn, &complete); *completep = (int)complete; } return result; } /* no data to transfer */ Curl_setup_transfer(data, -1, -1, FALSE, -1); if(!ftpc->wait_data_conn) { /* no waiting for the data connection so this is now complete */ *completep = 1; DEBUGF(infof(data, "DO-MORE phase ends with %d\n", (int)result)); } |
︙ | ︙ | |||
4076 4077 4078 4079 4080 4081 4082 | static CURLcode ftp_parse_url_path(struct connectdata *conn) { struct Curl_easy *data = conn->data; /* the ftp struct is already inited in ftp_connect() */ struct FTP *ftp = data->req.protop; struct ftp_conn *ftpc = &conn->proto.ftpc; | < < | | | < > | > > > > > < | < < < | < < < < < | | < | | | | < | | | < < < < < < | | > | < | < < < < < | > > > > > | | | < < | | | > > | | | | | | > > > > > > > > > | | | < | | > | | < < < < < | < | | | | > | > < < < | < < | | | < < < < < < < < < < < < < < | < | < < < < < < < | > > < | < < | < < < < < | | > > > > > | < < | < < < | | < < | | | | < | | | < | | > > | 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 | static CURLcode ftp_parse_url_path(struct connectdata *conn) { struct Curl_easy *data = conn->data; /* the ftp struct is already inited in ftp_connect() */ struct FTP *ftp = data->req.protop; struct ftp_conn *ftpc = &conn->proto.ftpc; const char *slashPos = NULL; const char *fileName = NULL; CURLcode result = CURLE_OK; char *rawPath = NULL; /* url-decoded "raw" path */ size_t pathLen = 0; ftpc->ctl_valid = FALSE; ftpc->cwdfail = FALSE; /* url-decode ftp path before further evaluation */ result = Curl_urldecode(data, ftp->path, 0, &rawPath, &pathLen, TRUE); if(result) return result; switch(data->set.ftp_filemethod) { case FTPFILE_NOCWD: /* fastest, but less standard-compliant */ if((pathLen > 0) && (rawPath[pathLen - 1] != '/')) fileName = rawPath; /* this is a full file path */ /* else: ftpc->file is not used anywhere other than for operations on a file. In other words, never for directory operations. So we can safely leave filename as NULL here and use it as a argument in dir/file decisions. */ break; case FTPFILE_SINGLECWD: slashPos = strrchr(rawPath, '/'); if(slashPos) { /* get path before last slash, except for / */ size_t dirlen = slashPos - rawPath; if(dirlen == 0) dirlen++; ftpc->dirs = calloc(1, sizeof(ftpc->dirs[0])); if(!ftpc->dirs) { free(rawPath); return CURLE_OUT_OF_MEMORY; } ftpc->dirs[0] = calloc(1, dirlen + 1); if(!ftpc->dirs[0]) { free(rawPath); return CURLE_OUT_OF_MEMORY; } strncpy(ftpc->dirs[0], rawPath, dirlen); ftpc->dirdepth = 1; /* we consider it to be a single dir */ fileName = slashPos + 1; /* rest is file name */ } else fileName = rawPath; /* file name only (or empty) */ break; default: /* allow pretty much anything */ case FTPFILE_MULTICWD: { /* current position: begin of next path component */ const char *curPos = rawPath; int dirAlloc = 0; /* number of entries allocated for the 'dirs' array */ const char *str = rawPath; for(; *str != 0; ++str) if (*str == '/') ++dirAlloc; if(dirAlloc > 0) { ftpc->dirs = calloc(dirAlloc, sizeof(ftpc->dirs[0])); if(!ftpc->dirs) { free(rawPath); return CURLE_OUT_OF_MEMORY; } /* parse the URL path into separate path components */ while((slashPos = strchr(curPos, '/')) != NULL) { size_t compLen = slashPos - curPos; /* path starts with a slash: add that as a directory */ if((compLen == 0) && (ftpc->dirdepth == 0)) ++compLen; /* we skip empty path components, like "x//y" since the FTP command CWD requires a parameter and a non-existent parameter a) doesn't work on many servers and b) has no effect on the others. */ if(compLen > 0) { char *comp = calloc(1, compLen + 1); if(!comp) { free(rawPath); return CURLE_OUT_OF_MEMORY; } strncpy(comp, curPos, compLen); ftpc->dirs[ftpc->dirdepth++] = comp; } curPos = slashPos + 1; } } DEBUGASSERT(ftpc->dirdepth <= dirAlloc); fileName = curPos; /* the rest is the file name (or empty) */ } break; } /* switch */ if(fileName && *fileName) ftpc->file = strdup(fileName); else ftpc->file = NULL; /* instead of point to a zero byte, we make it a NULL pointer */ if(data->set.upload && !ftpc->file && (ftp->transfer == FTPTRANSFER_BODY)) { /* We need a file name when uploading. Return error! */ failf(data, "Uploading to a URL without a file name!"); free(rawPath); return CURLE_URL_MALFORMAT; } ftpc->cwddone = FALSE; /* default to not done */ if((data->set.ftp_filemethod == FTPFILE_NOCWD) && (rawPath[0] == '/')) ftpc->cwddone = TRUE; /* skip CWD for absolute paths */ else { /* newly created FTP connections are already in entry path */ const char *oldPath = conn->bits.reuse ? ftpc->prevpath : ""; if(oldPath) { size_t n = pathLen; if(data->set.ftp_filemethod == FTPFILE_NOCWD) n = 0; /* CWD to entry for relative paths */ else n -= ftpc->file?strlen(ftpc->file):0; if((strlen(oldPath) == n) && !strncmp(rawPath, oldPath, n)) { infof(data, "Request has same path as previous transfer\n"); ftpc->cwddone = TRUE; } } } free(rawPath); return CURLE_OK; } /* call this when the DO phase has completed */ static CURLcode ftp_dophase_done(struct connectdata *conn, bool connected) { |
︙ | ︙ |
Changes to jni/curl/lib/ftp.h.
︙ | ︙ | |||
117 118 119 120 121 122 123 | /* ftp_conn is used for struct connection-oriented data in the connectdata struct */ struct ftp_conn { struct pingpong pp; char *entrypath; /* the PWD reply when we logged on */ char **dirs; /* realloc()ed array for path components */ int dirdepth; /* number of entries used in the 'dirs' array */ | < | | < | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | /* ftp_conn is used for struct connection-oriented data in the connectdata struct */ struct ftp_conn { struct pingpong pp; char *entrypath; /* the PWD reply when we logged on */ char **dirs; /* realloc()ed array for path components */ int dirdepth; /* number of entries used in the 'dirs' array */ char *file; /* url-decoded file name (or path) */ bool dont_check; /* Set to TRUE to prevent the final (post-transfer) file size and 226/250 status check. It should still read the line, just ignore the result. */ bool ctl_valid; /* Tells Curl_ftp_quit() whether or not to do anything. If the connection has timed out or been closed, this should be FALSE when it gets to Curl_ftp_quit() */ bool cwddone; /* if it has been determined that the proper CWD combo already has been done */ int cwdcount; /* number of CWD commands issued */ bool cwdfail; /* set TRUE if a CWD command fails, as then we must prevent caching the current directory */ bool wait_data_conn; /* this is set TRUE if data connection is waited */ char *prevpath; /* url-decoded conn->path from the previous transfer */ char transfertype; /* set by ftp_transfertype for use by Curl_client_write()a and others (A/I or zero) */ int count1; /* general purpose counter for the state machine */ int count2; /* general purpose counter for the state machine */ int count3; /* general purpose counter for the state machine */ ftpstate state; /* always use ftp.c:state() to change state! */ ftpstate state_saved; /* transfer type saved to be reloaded after |
︙ | ︙ |
Changes to jni/curl/lib/ftplistparser.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/hostcheck.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/hostip.c.
︙ | ︙ | |||
745 746 747 748 749 750 751 | the time we spent until now! */ if(prev_alarm) { /* there was an alarm() set before us, now put it back */ timediff_t elapsed_secs = Curl_timediff(Curl_now(), conn->created) / 1000; /* the alarm period is counted in even number of seconds */ | | | 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 | the time we spent until now! */ if(prev_alarm) { /* there was an alarm() set before us, now put it back */ timediff_t elapsed_secs = Curl_timediff(Curl_now(), conn->created) / 1000; /* the alarm period is counted in even number of seconds */ unsigned long alarm_set = (unsigned long)(prev_alarm - elapsed_secs); if(!alarm_set || ((alarm_set >= 0x80000000) && (prev_alarm < 0x80000000)) ) { /* if the alarm time-left reached zero or turned "negative" (counted with unsigned values), we should fire off a SIGALRM here, but we won't, and zero would be to switch it off so we never set it to less than 1! */ |
︙ | ︙ |
Changes to jni/curl/lib/http.c.
︙ | ︙ | |||
446 447 448 449 450 451 452 | /* HTTP CONNECT in progress: there is no body */ expectsend = 0; } else { /* figure out how much data we are expected to send */ switch(data->set.httpreq) { case HTTPREQ_POST: | < < < | 446 447 448 449 450 451 452 453 454 455 456 457 458 459 | /* HTTP CONNECT in progress: there is no body */ expectsend = 0; } else { /* figure out how much data we are expected to send */ switch(data->set.httpreq) { case HTTPREQ_POST: case HTTPREQ_PUT: if(data->state.infilesize != -1) expectsend = data->state.infilesize; break; case HTTPREQ_POST_FORM: case HTTPREQ_POST_MIME: expectsend = http->postsize; |
︙ | ︙ | |||
2675 2676 2677 2678 2679 2680 2681 | } #if !defined(CURL_DISABLE_COOKIES) if(data->cookies || addcookies) { struct Cookie *co = NULL; /* no cookies from start */ int count = 0; | | | 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 | } #if !defined(CURL_DISABLE_COOKIES) if(data->cookies || addcookies) { struct Cookie *co = NULL; /* no cookies from start */ int count = 0; if(data->cookies && data->state.cookie_engine) { Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); co = Curl_cookie_getlist(data->cookies, conn->allocptr.cookiehost? conn->allocptr.cookiehost:host, data->state.up.path, (conn->handler->protocol&CURLPROTO_HTTPS)? TRUE:FALSE); |
︙ | ︙ | |||
3040 3041 3042 3043 3044 3045 3046 | result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, 0, FIRSTSOCKET); if(result) failf(data, "Failed sending HTTP request"); else /* HTTP GET/HEAD download: */ | | < | 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 | result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, 0, FIRSTSOCKET); if(result) failf(data, "Failed sending HTTP request"); else /* HTTP GET/HEAD download: */ Curl_setup_transfer(data, FIRSTSOCKET, -1, TRUE, -1); } if(result) return result; if(data->req.writebytecount) { /* if a request-body has been sent off, we make sure this progress is noted properly */ |
︙ | ︙ | |||
4013 4014 4015 4016 4017 4018 4019 | k->content_range = TRUE; } } else data->state.resume_from = 0; /* get everything */ } #if !defined(CURL_DISABLE_COOKIES) | | | 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 | k->content_range = TRUE; } } else data->state.resume_from = 0; /* get everything */ } #if !defined(CURL_DISABLE_COOKIES) else if(data->cookies && data->state.cookie_engine && checkprefix("Set-Cookie:", k->p)) { Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); Curl_cookie_add(data, data->cookies, TRUE, FALSE, k->p + 11, /* If there is a custom-set Host: name, use it here, or else use real peer host name. */ |
︙ | ︙ | |||
4054 4055 4056 4057 4058 4059 4060 | result = Curl_http_input_auth(conn, proxy, auth); free(auth); if(result) return result; } | | | > | | 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 | result = Curl_http_input_auth(conn, proxy, auth); free(auth); if(result) return result; } #ifdef USE_SPNEGO else if(checkprefix("Persistent-Auth", k->p)) { struct negotiatedata *negdata = &conn->negotiate; struct auth *authp = &data->state.authhost; if(authp->picked == CURLAUTH_NEGOTIATE) { char *persistentauth = Curl_copy_header_value(k->p); if(!persistentauth) return CURLE_OUT_OF_MEMORY; negdata->noauthpersist = checkprefix("false", persistentauth)? TRUE:FALSE; negdata->havenoauthpersist = TRUE; infof(data, "Negotiate: noauthpersist -> %d, header part: %s", negdata->noauthpersist, persistentauth); free(persistentauth); } } #endif else if((k->httpcode >= 300 && k->httpcode < 400) && checkprefix("Location:", k->p) && !data->req.location) { /* this is the URL that the server advises us to use instead */ char *location = Curl_copy_header_value(k->p); if(!location) return CURLE_OUT_OF_MEMORY; |
︙ | ︙ |
Changes to jni/curl/lib/http.h.
︙ | ︙ | |||
79 80 81 82 83 84 85 | struct Curl_easy *handle); /* protocol-specific functions set up to be called by the main engine */ CURLcode Curl_http(struct connectdata *conn, bool *done); CURLcode Curl_http_done(struct connectdata *, CURLcode, bool premature); CURLcode Curl_http_connect(struct connectdata *conn, bool *done); | < < < < < | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | struct Curl_easy *handle); /* protocol-specific functions set up to be called by the main engine */ CURLcode Curl_http(struct connectdata *conn, bool *done); CURLcode Curl_http_done(struct connectdata *, CURLcode, bool premature); CURLcode Curl_http_connect(struct connectdata *conn, bool *done); /* These functions are in http.c */ CURLcode Curl_http_input_auth(struct connectdata *conn, bool proxy, const char *auth); CURLcode Curl_http_auth_act(struct connectdata *conn); /* If only the PICKNONE bit is set, there has been a round-trip and we selected to use no auth at all. Ie, we actively select no auth, as opposed |
︙ | ︙ |
Changes to jni/curl/lib/http2.c.
︙ | ︙ | |||
492 493 494 495 496 497 498 | static struct Curl_easy *duphandle(struct Curl_easy *data) { struct Curl_easy *second = curl_easy_duphandle(data); if(second) { /* setup the request struct */ struct HTTP *http = calloc(1, sizeof(struct HTTP)); if(!http) { | | < | < | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 | static struct Curl_easy *duphandle(struct Curl_easy *data) { struct Curl_easy *second = curl_easy_duphandle(data); if(second) { /* setup the request struct */ struct HTTP *http = calloc(1, sizeof(struct HTTP)); if(!http) { (void)Curl_close(&second); } else { second->req.protop = http; http->header_recvbuf = Curl_add_buffer_init(); if(!http->header_recvbuf) { free(http); (void)Curl_close(&second); } else { Curl_http2_setup_req(second); second->state.stream_weight = data->state.stream_weight; } } } |
︙ | ︙ | |||
543 544 545 546 547 548 549 | heads.frame = frame; /* ask the application */ H2BUGF(infof(data, "Got PUSH_PROMISE, ask application!\n")); stream = data->req.protop; if(!stream) { failf(data, "Internal NULL stream!\n"); | | | 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 | heads.frame = frame; /* ask the application */ H2BUGF(infof(data, "Got PUSH_PROMISE, ask application!\n")); stream = data->req.protop; if(!stream) { failf(data, "Internal NULL stream!\n"); (void)Curl_close(&newhandle); rv = 1; goto fail; } Curl_set_in_callback(data, true); rv = data->multi->push_cb(data, newhandle, stream->push_headers_used, &heads, |
︙ | ︙ | |||
565 566 567 568 569 570 571 | stream->push_headers = NULL; stream->push_headers_used = 0; if(rv) { /* denied, kill off the new handle again */ http2_stream_free(newhandle->req.protop); newhandle->req.protop = NULL; | | | | 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 | stream->push_headers = NULL; stream->push_headers_used = 0; if(rv) { /* denied, kill off the new handle again */ http2_stream_free(newhandle->req.protop); newhandle->req.protop = NULL; (void)Curl_close(&newhandle); goto fail; } newstream = newhandle->req.protop; newstream->stream_id = frame->promised_stream_id; newhandle->req.maxdownload = -1; newhandle->req.size = -1; /* approved, add to the multi handle and immediately switch to PERFORM state with the given connection !*/ rc = Curl_multi_add_perform(data->multi, newhandle, conn); if(rc) { infof(data, "failed to add handle to multi\n"); http2_stream_free(newhandle->req.protop); newhandle->req.protop = NULL; Curl_close(&newhandle); rv = 1; goto fail; } httpc = &conn->proto.httpc; rv = nghttp2_session_set_stream_user_data(httpc->h2, frame->promised_stream_id, |
︙ | ︙ | |||
844 845 846 847 848 849 850 851 852 853 854 855 856 857 | stream = data_s->req.protop; if(!stream) return NGHTTP2_ERR_CALLBACK_FAILURE; stream->closed = TRUE; httpc = &conn->proto.httpc; drain_this(data_s, httpc); httpc->error_code = error_code; /* remove the entry from the hash as the stream is now gone */ rv = nghttp2_session_set_stream_user_data(session, stream_id, 0); if(rv) { infof(data_s, "http/2: failed to clear user_data for stream %d!\n", stream_id); | > | 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 | stream = data_s->req.protop; if(!stream) return NGHTTP2_ERR_CALLBACK_FAILURE; stream->closed = TRUE; httpc = &conn->proto.httpc; drain_this(data_s, httpc); Curl_expire(data_s, 0, EXPIRE_RUN_NOW); httpc->error_code = error_code; /* remove the entry from the hash as the stream is now gone */ rv = nghttp2_session_set_stream_user_data(session, stream_id, 0); if(rv) { infof(data_s, "http/2: failed to clear user_data for stream %d!\n", stream_id); |
︙ | ︙ | |||
963 964 965 966 967 968 969 | if(!strcmp(":authority", (const char *)name)) { /* pseudo headers are lower case */ int rc = 0; char *check = aprintf("%s:%d", conn->host.name, conn->remote_port); if(!check) /* no memory */ return NGHTTP2_ERR_CALLBACK_FAILURE; | | > > | 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 | if(!strcmp(":authority", (const char *)name)) { /* pseudo headers are lower case */ int rc = 0; char *check = aprintf("%s:%d", conn->host.name, conn->remote_port); if(!check) /* no memory */ return NGHTTP2_ERR_CALLBACK_FAILURE; if(!Curl_strcasecompare(check, (const char *)value) && ((conn->remote_port != conn->given->defport) || !Curl_strcasecompare(conn->host.name, (const char *)value))) { /* This is push is not for the same authority that was asked for in * the URL. RFC 7540 section 8.2 says: "A client MUST treat a * PUSH_PROMISE for which the server is not authoritative as a stream * error of type PROTOCOL_ERROR." */ (void)nghttp2_submit_rst_stream(session, NGHTTP2_FLAG_NONE, stream_id, NGHTTP2_PROTOCOL_ERROR); |
︙ | ︙ | |||
1153 1154 1155 1156 1157 1158 1159 | static void populate_settings(struct connectdata *conn, struct http_conn *httpc) { nghttp2_settings_entry *iv = httpc->local_settings; iv[0].settings_id = NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS; | | | 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 | static void populate_settings(struct connectdata *conn, struct http_conn *httpc) { nghttp2_settings_entry *iv = httpc->local_settings; iv[0].settings_id = NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS; iv[0].value = (uint32_t)Curl_multi_max_concurrent_streams(conn->data->multi); iv[1].settings_id = NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE; iv[1].value = HTTP2_HUGE_WINDOW_SIZE; iv[2].settings_id = NGHTTP2_SETTINGS_ENABLE_PUSH; iv[2].value = conn->data->multi->push_cb != NULL; |
︙ | ︙ | |||
1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 | nghttp2_priority_spec pri_spec; int rv; h2_pri_spec(data, &pri_spec); H2BUGF(infof(data, "Queuing PRIORITY on stream %u (easy %p)\n", stream->stream_id, data)); rv = nghttp2_submit_priority(h2, NGHTTP2_FLAG_NONE, stream->stream_id, &pri_spec); if(rv) return rv; } return nghttp2_session_send(h2); | > | 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 | nghttp2_priority_spec pri_spec; int rv; h2_pri_spec(data, &pri_spec); H2BUGF(infof(data, "Queuing PRIORITY on stream %u (easy %p)\n", stream->stream_id, data)); DEBUGASSERT(stream->stream_id != -1); rv = nghttp2_submit_priority(h2, NGHTTP2_FLAG_NONE, stream->stream_id, &pri_spec); if(rv) return rv; } return nghttp2_session_send(h2); |
︙ | ︙ | |||
1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 | not processed all data, it still refers to the buffer in nghttp2_session. If we call nghttp2_session_mem_recv(), we may overwrite that buffer. To avoid that situation, just return here with CURLE_AGAIN. This could be busy loop since data in socket is not read. But it seems that usually streams are notified with its drain property, and socket is read again quickly. */ H2BUGF(infof(data, "stream %x is paused, pause id: %x\n", stream->stream_id, httpc->pause_stream_id)); *err = CURLE_AGAIN; return -1; } else { char *inbuf; | > > > | 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 | not processed all data, it still refers to the buffer in nghttp2_session. If we call nghttp2_session_mem_recv(), we may overwrite that buffer. To avoid that situation, just return here with CURLE_AGAIN. This could be busy loop since data in socket is not read. But it seems that usually streams are notified with its drain property, and socket is read again quickly. */ if(stream->closed) /* closed overrides paused */ return 0; H2BUGF(infof(data, "stream %x is paused, pause id: %x\n", stream->stream_id, httpc->pause_stream_id)); *err = CURLE_AGAIN; return -1; } else { char *inbuf; |
︙ | ︙ | |||
1769 1770 1771 1772 1773 1774 1775 1776 | return -1; } /* Index where :authority header field will appear in request header field list. */ #define AUTHORITY_DST_IDX 3 #define HEADER_OVERFLOW(x) \ | > | | 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 | return -1; } /* Index where :authority header field will appear in request header field list. */ #define AUTHORITY_DST_IDX 3 /* USHRT_MAX is 65535 == 0xffff */ #define HEADER_OVERFLOW(x) \ (x.namelen > 0xffff || x.valuelen > 0xffff - x.namelen) /* * Check header memory for the token "trailers". * Parse the tokens as separated by comma and surrounded by whitespace. * Returns TRUE if found or FALSE if not. */ static bool contains_trailers(const char *p, size_t len) |
︙ | ︙ | |||
2020 2021 2022 2023 2024 2025 2026 | if(hlen == 4 && strncasecompare("host", hdbuf, 4)) { authority_idx = i; nva[i].name = (unsigned char *)":authority"; nva[i].namelen = strlen((char *)nva[i].name); } else { | < > > > | 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 | if(hlen == 4 && strncasecompare("host", hdbuf, 4)) { authority_idx = i; nva[i].name = (unsigned char *)":authority"; nva[i].namelen = strlen((char *)nva[i].name); } else { nva[i].namelen = (size_t)(end - hdbuf); /* Lower case the header name for HTTP/2 */ Curl_strntolower((char *)hdbuf, hdbuf, nva[i].namelen); nva[i].name = (unsigned char *)hdbuf; } hdbuf = end + 1; while(*hdbuf == ' ' || *hdbuf == '\t') ++hdbuf; end = line_end; switch(inspect_header((const char *)nva[i].name, nva[i].namelen, hdbuf, |
︙ | ︙ | |||
2131 2132 2133 2134 2135 2136 2137 | if(should_close_session(httpc)) { H2BUGF(infof(conn->data, "http2_send: nothing to do in this session\n")); *err = CURLE_HTTP2; return -1; } | < | | | < | | | | | < | 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 | if(should_close_session(httpc)) { H2BUGF(infof(conn->data, "http2_send: nothing to do in this session\n")); *err = CURLE_HTTP2; return -1; } /* If whole HEADERS frame was sent off to the underlying socket, the nghttp2 library calls data_source_read_callback. But only it found that no data available, so it deferred the DATA transmission. Which means that nghttp2_session_want_write() returns 0 on http2_perform_getsock(), which results that no writable socket check is performed. To workaround this, we issue nghttp2_session_resume_data() here to bring back DATA transmission from deferred state. */ nghttp2_session_resume_data(h2, stream->stream_id); return len; fail: free(nva); *err = CURLE_SEND_ERROR; return -1; |
︙ | ︙ |
Changes to jni/curl/lib/http_chunks.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
105 106 107 108 109 110 111 | * * This function always uses ASCII hex values to accommodate non-ASCII hosts. * For example, 0x0d and 0x0a are used instead of '\r' and '\n'. */ CHUNKcode Curl_httpchunk_read(struct connectdata *conn, char *datap, ssize_t datalen, | | > | > | > | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | * * This function always uses ASCII hex values to accommodate non-ASCII hosts. * For example, 0x0d and 0x0a are used instead of '\r' and '\n'. */ CHUNKcode Curl_httpchunk_read(struct connectdata *conn, char *datap, ssize_t datalen, ssize_t *wrotep, CURLcode *extrap) { CURLcode result = CURLE_OK; struct Curl_easy *data = conn->data; struct Curl_chunker *ch = &conn->chunk; struct SingleRequest *k = &data->req; size_t piece; curl_off_t length = (curl_off_t)datalen; size_t *wrote = (size_t *)wrotep; *wrote = 0; /* nothing's written yet */ /* the original data is written to the client, but we go on with the chunk read process, to properly calculate the content length*/ if(data->set.http_te_skip && !k->ignorebody) { result = Curl_client_write(conn, CLIENTWRITE_BODY, datap, datalen); if(result) { *extrap = result; return CHUNKE_PASSTHRU_ERROR; } } while(length) { switch(ch->state) { case CHUNK_HEX: if(Curl_isxdigit_ascii(*datap)) { if(ch->hexindex < MAXNUM_SIZE) { |
︙ | ︙ | |||
193 194 195 196 197 198 199 | /* Write the data portion available */ if(!conn->data->set.http_te_skip && !k->ignorebody) { if(!conn->data->set.http_ce_skip && k->writer_stack) result = Curl_unencode_write(conn, k->writer_stack, datap, piece); else result = Curl_client_write(conn, CLIENTWRITE_BODY, datap, piece); | | > | > | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | /* Write the data portion available */ if(!conn->data->set.http_te_skip && !k->ignorebody) { if(!conn->data->set.http_ce_skip && k->writer_stack) result = Curl_unencode_write(conn, k->writer_stack, datap, piece); else result = Curl_client_write(conn, CLIENTWRITE_BODY, datap, piece); if(result) { *extrap = result; return CHUNKE_PASSTHRU_ERROR; } } *wrote += piece; ch->datasize -= piece; /* decrease amount left to expect */ datap += piece; /* move read pointer forward */ length -= piece; /* decrease space left in this round */ |
︙ | ︙ | |||
240 241 242 243 244 245 246 | /* Curl_convert_from_network calls failf if unsuccessful */ /* Treat it as a bad chunk */ return CHUNKE_BAD_CHUNK; if(!data->set.http_te_skip) { result = Curl_client_write(conn, CLIENTWRITE_HEADER, conn->trailer, conn->trlPos); | | > | > | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | /* Curl_convert_from_network calls failf if unsuccessful */ /* Treat it as a bad chunk */ return CHUNKE_BAD_CHUNK; if(!data->set.http_te_skip) { result = Curl_client_write(conn, CLIENTWRITE_HEADER, conn->trailer, conn->trlPos); if(result) { *extrap = result; return CHUNKE_PASSTHRU_ERROR; } } conn->trlPos = 0; ch->state = CHUNK_TRAILER_CR; if(*datap == 0x0a) /* already on the LF */ break; } |
︙ | ︙ | |||
335 336 337 338 339 340 341 | return "OK"; case CHUNKE_TOO_LONG_HEX: return "Too long hexadecimal number"; case CHUNKE_ILLEGAL_HEX: return "Illegal or missing hexadecimal sequence"; case CHUNKE_BAD_CHUNK: return "Malformed encoding found"; | | > | | 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 | return "OK"; case CHUNKE_TOO_LONG_HEX: return "Too long hexadecimal number"; case CHUNKE_ILLEGAL_HEX: return "Illegal or missing hexadecimal sequence"; case CHUNKE_BAD_CHUNK: return "Malformed encoding found"; case CHUNKE_PASSTHRU_ERROR: DEBUGASSERT(0); /* never used */ return ""; case CHUNKE_BAD_ENCODING: return "Bad content-encoding found"; case CHUNKE_OUT_OF_MEMORY: return "Out of memory"; } } #endif /* CURL_DISABLE_HTTP */ |
Changes to jni/curl/lib/http_chunks.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_HTTP_CHUNKS_H #define HEADER_CURL_HTTP_CHUNKS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #ifndef HEADER_CURL_HTTP_CHUNKS_H #define HEADER_CURL_HTTP_CHUNKS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ struct connectdata; /* * The longest possible hexadecimal number we support in a chunked transfer. * Weird enough, RFC2616 doesn't set a maximum size! Since we use strtoul() * to convert it, we "only" support 2^32 bytes chunk data. */ #define MAXNUM_SIZE 16 |
︙ | ︙ | |||
67 68 69 70 71 72 73 | typedef enum { CHUNKE_STOP = -1, CHUNKE_OK = 0, CHUNKE_TOO_LONG_HEX = 1, CHUNKE_ILLEGAL_HEX, CHUNKE_BAD_CHUNK, | < > > > > > > > | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | typedef enum { CHUNKE_STOP = -1, CHUNKE_OK = 0, CHUNKE_TOO_LONG_HEX = 1, CHUNKE_ILLEGAL_HEX, CHUNKE_BAD_CHUNK, CHUNKE_BAD_ENCODING, CHUNKE_OUT_OF_MEMORY, CHUNKE_PASSTHRU_ERROR, /* Curl_httpchunk_read() returns a CURLcode to use */ CHUNKE_LAST } CHUNKcode; const char *Curl_chunked_strerror(CHUNKcode code); struct Curl_chunker { char hexbuffer[ MAXNUM_SIZE + 1]; int hexindex; ChunkyState state; curl_off_t datasize; size_t dataleft; /* untouched data amount at the end of the last buffer */ }; /* The following functions are defined in http_chunks.c */ void Curl_httpchunk_init(struct connectdata *conn); CHUNKcode Curl_httpchunk_read(struct connectdata *conn, char *datap, ssize_t length, ssize_t *wrote, CURLcode *passthru); #endif /* HEADER_CURL_HTTP_CHUNKS_H */ |
Changes to jni/curl/lib/http_proxy.c.
︙ | ︙ | |||
323 324 325 326 327 328 329 | return CURLE_OK; /* at this point, the tunnel_connecting phase is over. */ { /* READING RESPONSE PHASE */ int error = SELECT_OK; | | | 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 | return CURLE_OK; /* at this point, the tunnel_connecting phase is over. */ { /* READING RESPONSE PHASE */ int error = SELECT_OK; while(s->keepon) { ssize_t gotbytes; /* make sure we have space to read more data */ if(s->ptr >= &s->connect_buffer[CONNECT_BUFFER_SIZE]) { failf(data, "CONNECT response too large!"); return CURLE_RECV_ERROR; } |
︙ | ︙ | |||
380 381 382 383 384 385 386 387 388 389 390 | break; } } else { /* chunked-encoded body, so we need to do the chunked dance properly to know when the end of the body is reached */ CHUNKcode r; ssize_t tookcareof = 0; /* now parse the chunked piece of data so that we can properly tell when the stream ends */ | > | | 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 | break; } } else { /* chunked-encoded body, so we need to do the chunked dance properly to know when the end of the body is reached */ CHUNKcode r; CURLcode extra; ssize_t tookcareof = 0; /* now parse the chunked piece of data so that we can properly tell when the stream ends */ r = Curl_httpchunk_read(conn, s->ptr, 1, &tookcareof, &extra); if(r == CHUNKE_STOP) { /* we're done reading chunks! */ infof(data, "chunk reading DONE\n"); s->keepon = FALSE; /* we did the full CONNECT treatment, go COMPLETE */ s->tunnel_state = TUNNEL_COMPLETE; } |
︙ | ︙ | |||
451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 | if(s->cl) { infof(data, "Ignore %" CURL_FORMAT_CURL_OFF_T " bytes of response-body\n", s->cl); } else if(s->chunked_encoding) { CHUNKcode r; infof(data, "Ignore chunked response-body\n"); /* We set ignorebody true here since the chunked decoder function will acknowledge that. Pay attention so that this is cleared again when this function returns! */ k->ignorebody = TRUE; if(s->line_start[1] == '\n') { /* this can only be a LF if the letter at index 0 was a CR */ s->line_start++; } /* now parse the chunked piece of data so that we can properly tell when the stream ends */ | > | > | 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 | if(s->cl) { infof(data, "Ignore %" CURL_FORMAT_CURL_OFF_T " bytes of response-body\n", s->cl); } else if(s->chunked_encoding) { CHUNKcode r; CURLcode extra; infof(data, "Ignore chunked response-body\n"); /* We set ignorebody true here since the chunked decoder function will acknowledge that. Pay attention so that this is cleared again when this function returns! */ k->ignorebody = TRUE; if(s->line_start[1] == '\n') { /* this can only be a LF if the letter at index 0 was a CR */ s->line_start++; } /* now parse the chunked piece of data so that we can properly tell when the stream ends */ r = Curl_httpchunk_read(conn, s->line_start + 1, 1, &gotbytes, &extra); if(r == CHUNKE_STOP) { /* we're done reading chunks! */ infof(data, "chunk reading DONE\n"); s->keepon = FALSE; /* we did the full CONNECT treatment, go to COMPLETE */ s->tunnel_state = TUNNEL_COMPLETE; } |
︙ | ︙ |
Changes to jni/curl/lib/imap.c.
︙ | ︙ | |||
1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 | break; case IMAP_LOGIN: result = imap_state_login_resp(conn, imapcode, imapc->state); break; case IMAP_LIST: result = imap_state_listsearch_resp(conn, imapcode, imapc->state); break; case IMAP_SELECT: result = imap_state_select_resp(conn, imapcode, imapc->state); break; | > | 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 | break; case IMAP_LOGIN: result = imap_state_login_resp(conn, imapcode, imapc->state); break; case IMAP_LIST: case IMAP_SEARCH: result = imap_state_listsearch_resp(conn, imapcode, imapc->state); break; case IMAP_SELECT: result = imap_state_select_resp(conn, imapcode, imapc->state); break; |
︙ | ︙ | |||
1325 1326 1327 1328 1329 1330 1331 | result = imap_state_append_resp(conn, imapcode, imapc->state); break; case IMAP_APPEND_FINAL: result = imap_state_append_final_resp(conn, imapcode, imapc->state); break; | < < < < | 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 | result = imap_state_append_resp(conn, imapcode, imapc->state); break; case IMAP_APPEND_FINAL: result = imap_state_append_final_resp(conn, imapcode, imapc->state); break; case IMAP_LOGOUT: /* fallthrough, just stop! */ default: /* internal error */ state(conn, IMAP_STOP); break; } |
︙ | ︙ |
Changes to jni/curl/lib/ldap.c.
︙ | ︙ | |||
115 116 117 118 119 120 121 122 123 124 125 126 127 128 | } WHILE_FALSE static void _ldap_trace(const char *fmt, ...); #else #define LDAP_TRACE(x) Curl_nop_stmt #endif static CURLcode Curl_ldap(struct connectdata *conn, bool *done); /* * LDAP protocol handler. */ | > > > > > > | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | } WHILE_FALSE static void _ldap_trace(const char *fmt, ...); #else #define LDAP_TRACE(x) Curl_nop_stmt #endif #if defined(USE_WIN32_LDAP) && defined(ldap_err2string) /* Use ansi error strings in UNICODE builds */ #undef ldap_err2string #define ldap_err2string ldap_err2stringA #endif static CURLcode Curl_ldap(struct connectdata *conn, bool *done); /* * LDAP protocol handler. */ |
︙ | ︙ | |||
834 835 836 837 838 839 840 | * yields ludp->lud_dn = "". * * Defined in RFC4516 section 2. */ static int _ldap_url_parse2(const struct connectdata *conn, LDAPURLDesc *ludp) { int rc = LDAP_SUCCESS; | | | | | | > | | | | > | 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 | * yields ludp->lud_dn = "". * * Defined in RFC4516 section 2. */ static int _ldap_url_parse2(const struct connectdata *conn, LDAPURLDesc *ludp) { int rc = LDAP_SUCCESS; char *p; char *path; char *q = NULL; char *query = NULL; size_t i; if(!conn->data || !conn->data->state.up.path || conn->data->state.up.path[0] != '/' || !strncasecompare("LDAP", conn->data->state.up.scheme, 4)) return LDAP_INVALID_SYNTAX; ludp->lud_scope = LDAP_SCOPE_BASE; ludp->lud_port = conn->remote_port; ludp->lud_host = conn->host.name; /* Duplicate the path */ p = path = strdup(conn->data->state.up.path + 1); if(!path) return LDAP_NO_MEMORY; /* Duplicate the query if present */ if(conn->data->state.up.query) { q = query = strdup(conn->data->state.up.query); if(!query) { free(path); return LDAP_NO_MEMORY; } } /* Parse the DN (Distinguished Name) */ if(*p) { char *dn = p; char *unescaped; CURLcode result; |
︙ | ︙ |
Changes to jni/curl/lib/libcurl.plist.
︙ | ︙ | |||
11 12 13 14 15 16 17 | <key>CFBundleExecutable</key> <string>curl</string> <key>CFBundleIdentifier</key> <string>se.haxx.curl.libcurl</string> <key>CFBundleVersion</key> | | | | | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <key>CFBundleExecutable</key> <string>curl</string> <key>CFBundleIdentifier</key> <string>se.haxx.curl.libcurl</string> <key>CFBundleVersion</key> <string>7.67.0</string> <key>CFBundleName</key> <string>libcurl</string> <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleShortVersionString</key> <string>libcurl 7.67.0</string> <key>CFBundleGetInfoString</key> <string>libcurl.plist 7.67.0</string> </dict> </plist> |
Changes to jni/curl/lib/mime.c.
︙ | ︙ | |||
1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 | CURLcode Curl_mime_duppart(curl_mimepart *dst, const curl_mimepart *src) { curl_mime *mime; curl_mimepart *d; const curl_mimepart *s; CURLcode res = CURLE_OK; /* Duplicate content. */ switch(src->kind) { case MIMEKIND_NONE: break; case MIMEKIND_DATA: res = curl_mime_data(dst, src->data, (size_t) src->datasize); | > > | 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 | CURLcode Curl_mime_duppart(curl_mimepart *dst, const curl_mimepart *src) { curl_mime *mime; curl_mimepart *d; const curl_mimepart *s; CURLcode res = CURLE_OK; DEBUGASSERT(dst); /* Duplicate content. */ switch(src->kind) { case MIMEKIND_NONE: break; case MIMEKIND_DATA: res = curl_mime_data(dst, src->data, (size_t) src->datasize); |
︙ | ︙ | |||
1180 1181 1182 1183 1184 1185 1186 | so always take ownership. */ res = curl_mime_headers(dst, hdrs, TRUE); if(res) curl_slist_free_all(hdrs); } } | > | < < < < > | | 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 | so always take ownership. */ res = curl_mime_headers(dst, hdrs, TRUE); if(res) curl_slist_free_all(hdrs); } } if(!res) { /* Duplicate other fields. */ dst->encoder = src->encoder; res = curl_mime_type(dst, src->mimetype); } if(!res) res = curl_mime_name(dst, src->name); if(!res) res = curl_mime_filename(dst, src->filename); /* If an error occurred, rollback. */ if(res) Curl_mime_cleanpart(dst); return res; } /* * Mime build functions. |
︙ | ︙ | |||
1896 1897 1898 1899 1900 1901 1902 1903 1904 | struct curl_slist *headers, int take_ownership) { (void) part; (void) headers; (void) take_ownership; return CURLE_NOT_BUILT_IN; } #endif /* if disabled */ | > > > > > > > | 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 | struct curl_slist *headers, int take_ownership) { (void) part; (void) headers; (void) take_ownership; return CURLE_NOT_BUILT_IN; } CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt, ...) { (void)slp; (void)fmt; return CURLE_NOT_BUILT_IN; } #endif /* if disabled */ |
Changes to jni/curl/lib/mime.h.
︙ | ︙ | |||
123 124 125 126 127 128 129 | curl_off_t datasize; /* Expected data size. */ unsigned int flags; /* Flags. */ mime_state state; /* Current readback state. */ const mime_encoder *encoder; /* Content data encoder. */ mime_encoder_state encstate; /* Data encoder state. */ }; | > > | < < | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | curl_off_t datasize; /* Expected data size. */ unsigned int flags; /* Flags. */ mime_state state; /* Current readback state. */ const mime_encoder *encoder; /* Content data encoder. */ mime_encoder_state encstate; /* Data encoder state. */ }; CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt, ...); #if (!defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_MIME)) || \ !defined(CURL_DISABLE_SMTP) || !defined(CURL_DISABLE_IMAP) /* Prototypes. */ void Curl_mime_initpart(curl_mimepart *part, struct Curl_easy *easy); void Curl_mime_cleanpart(curl_mimepart *part); CURLcode Curl_mime_duppart(curl_mimepart *dst, const curl_mimepart *src); CURLcode Curl_mime_set_subparts(curl_mimepart *part, curl_mime *subparts, int take_ownership); CURLcode Curl_mime_prepare_headers(curl_mimepart *part, const char *contenttype, const char *disposition, enum mimestrategy strategy); curl_off_t Curl_mime_size(curl_mimepart *part); size_t Curl_mime_read(char *buffer, size_t size, size_t nitems, void *instream); CURLcode Curl_mime_rewind(curl_mimepart *part); const char *Curl_mime_contenttype(const char *filename); #else /* if disabled */ #define Curl_mime_initpart(x,y) #define Curl_mime_cleanpart(x) #define Curl_mime_duppart(x,y) CURLE_OK /* Nothing to duplicate. Succeed */ #define Curl_mime_set_subparts(a,b,c) CURLE_NOT_BUILT_IN #define Curl_mime_prepare_headers(a,b,c,d) CURLE_NOT_BUILT_IN #define Curl_mime_size(x) (curl_off_t) -1 #define Curl_mime_read NULL #define Curl_mime_rewind(x) ((void)x, CURLE_NOT_BUILT_IN) #endif #endif /* HEADER_CURL_MIME_H */ |
Changes to jni/curl/lib/multi.c.
︙ | ︙ | |||
359 360 361 362 363 364 365 | if(Curl_conncache_init(&multi->conn_cache, chashsize)) goto error; Curl_llist_init(&multi->msglist, NULL); Curl_llist_init(&multi->pending, NULL); | | | 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 | if(Curl_conncache_init(&multi->conn_cache, chashsize)) goto error; Curl_llist_init(&multi->msglist, NULL); Curl_llist_init(&multi->pending, NULL); multi->multiplexing = TRUE; /* -1 means it not set by user, use the default value */ multi->maxconnects = -1; return multi; error: |
︙ | ︙ | |||
2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 | case CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE: break; case CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE: break; case CURLMOPT_PIPELINING_SITE_BL: break; case CURLMOPT_PIPELINING_SERVER_BL: break; default: res = CURLM_UNKNOWN_OPTION; break; } va_end(param); return res; | > > > > > > > > > > | 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 | case CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE: break; case CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE: break; case CURLMOPT_PIPELINING_SITE_BL: break; case CURLMOPT_PIPELINING_SERVER_BL: break; case CURLMOPT_MAX_CONCURRENT_STREAMS: { long streams = va_arg(param, long); if(streams < 1) streams = 100; multi->max_concurrent_streams = (streams > (long)INITIAL_MAX_CONCURRENT_STREAMS)? (long)INITIAL_MAX_CONCURRENT_STREAMS : streams; } break; default: res = CURLM_UNKNOWN_OPTION; break; } va_end(param); return res; |
︙ | ︙ | |||
3206 3207 3208 3209 3210 3211 3212 | } if(data->numsocks) fprintf(stderr, "\n"); } } } #endif | > > > > > > | 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 | } if(data->numsocks) fprintf(stderr, "\n"); } } } #endif size_t Curl_multi_max_concurrent_streams(struct Curl_multi *multi) { return multi ? ((size_t)multi->max_concurrent_streams ? (size_t)multi->max_concurrent_streams : 100) : 0; } |
Changes to jni/curl/lib/multihandle.h.
︙ | ︙ | |||
129 130 131 132 133 134 135 136 137 138 | /* timer callback and user data pointer for the *socket() API */ curl_multi_timer_callback timer_cb; void *timer_userp; struct curltime timer_lastcall; /* the fixed time for the timeout for the previous callback */ bool in_callback; /* true while executing a callback */ }; #endif /* HEADER_CURL_MULTIHANDLE_H */ | > | 129 130 131 132 133 134 135 136 137 138 139 | /* timer callback and user data pointer for the *socket() API */ curl_multi_timer_callback timer_cb; void *timer_userp; struct curltime timer_lastcall; /* the fixed time for the timeout for the previous callback */ bool in_callback; /* true while executing a callback */ long max_concurrent_streams; /* max concurrent streams client to support */ }; #endif /* HEADER_CURL_MULTIHANDLE_H */ |
Changes to jni/curl/lib/multiif.h.
︙ | ︙ | |||
85 86 87 88 89 90 91 92 | /* * Add a handle and move it into PERFORM state at once. For pushed streams. */ CURLMcode Curl_multi_add_perform(struct Curl_multi *multi, struct Curl_easy *data, struct connectdata *conn); #endif /* HEADER_CURL_MULTIIF_H */ | > > > > > > | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | /* * Add a handle and move it into PERFORM state at once. For pushed streams. */ CURLMcode Curl_multi_add_perform(struct Curl_multi *multi, struct Curl_easy *data, struct connectdata *conn); /* Return the value of the CURLMOPT_MAX_CONCURRENT_STREAMS option * If not specified or 0, default would be 100 */ size_t Curl_multi_max_concurrent_streams(struct Curl_multi *multi); #endif /* HEADER_CURL_MULTIIF_H */ |
Changes to jni/curl/lib/netrc.c.
︙ | ︙ | |||
84 85 86 87 88 89 90 | int netrcbuffsize = (int)sizeof(netrcbuffer); while(!done && fgets(netrcbuffer, netrcbuffsize, file)) { tok = strtok_r(netrcbuffer, " \t\n", &tok_buf); if(tok && *tok == '#') /* treat an initial hash as a comment line */ continue; | | | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | int netrcbuffsize = (int)sizeof(netrcbuffer); while(!done && fgets(netrcbuffer, netrcbuffsize, file)) { tok = strtok_r(netrcbuffer, " \t\n", &tok_buf); if(tok && *tok == '#') /* treat an initial hash as a comment line */ continue; while(tok) { if((login && *login) && (password && *password)) { done = TRUE; break; } switch(state) { |
︙ | ︙ |
Changes to jni/curl/lib/non-ascii.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/parsedate.c.
︙ | ︙ | |||
96 97 98 99 100 101 102 | static int parsedate(const char *date, time_t *output); #define PARSEDATE_OK 0 #define PARSEDATE_FAIL -1 #define PARSEDATE_LATER 1 #define PARSEDATE_SOONER 2 | > | | < < < > > > > > > | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | static int parsedate(const char *date, time_t *output); #define PARSEDATE_OK 0 #define PARSEDATE_FAIL -1 #define PARSEDATE_LATER 1 #define PARSEDATE_SOONER 2 #if !defined(CURL_DISABLE_PARSEDATE) || !defined(CURL_DISABLE_FTP) || \ !defined(CURL_DISABLE_FILE) /* These names are also used by FTP and FILE code */ const char * const Curl_wkday[] = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"}; const char * const Curl_month[]= { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; #endif #ifndef CURL_DISABLE_PARSEDATE static const char * const weekday[] = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; struct tzinfo { char name[5]; int offset; /* +/- in minutes */ }; /* Here's a bunch of frequently used time zone names. These were supported |
︙ | ︙ |
Changes to jni/curl/lib/security.c.
︙ | ︙ | |||
232 233 234 235 236 237 238 | size_t total_read = 0; curl_socket_t fd = conn->sock[sockindex]; *err = CURLE_OK; /* Handle clear text response. */ if(conn->sec_complete == 0 || conn->data_prot == PROT_CLEAR) | | | 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | size_t total_read = 0; curl_socket_t fd = conn->sock[sockindex]; *err = CURLE_OK; /* Handle clear text response. */ if(conn->sec_complete == 0 || conn->data_prot == PROT_CLEAR) return sread(fd, buffer, len); if(conn->in_buffer.eof_flag) { conn->in_buffer.eof_flag = 0; return 0; } bytes_read = buffer_read(&conn->in_buffer, buffer, len); |
︙ | ︙ |
Changes to jni/curl/lib/setopt.c.
︙ | ︙ | |||
311 312 313 314 315 316 317 | #endif #ifndef CURL_DISABLE_NETRC case CURLOPT_NETRC: /* * Parse the $HOME/.netrc file */ arg = va_arg(param, long); | | | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | #endif #ifndef CURL_DISABLE_NETRC case CURLOPT_NETRC: /* * Parse the $HOME/.netrc file */ arg = va_arg(param, long); if((arg < CURL_NETRC_IGNORED) || (arg >= CURL_NETRC_LAST)) return CURLE_BAD_FUNCTION_ARGUMENT; data->set.use_netrc = (enum CURL_NETRC_OPTION)arg; break; case CURLOPT_NETRC_FILE: /* * Use this file instead of the $HOME/.netrc file */ |
︙ | ︙ | |||
338 339 340 341 342 343 344 | break; case CURLOPT_TIMECONDITION: /* * Set HTTP time condition. This must be one of the defines in the * curl/curl.h header file. */ arg = va_arg(param, long); | | | 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | break; case CURLOPT_TIMECONDITION: /* * Set HTTP time condition. This must be one of the defines in the * curl/curl.h header file. */ arg = va_arg(param, long); if((arg < CURL_TIMECOND_NONE) || (arg >= CURL_TIMECOND_LAST)) return CURLE_BAD_FUNCTION_ARGUMENT; data->set.timecondition = (curl_TimeCond)arg; break; case CURLOPT_TIMEVALUE: /* * This is the value to compare with the remote document with the * method set with CURLOPT_TIMECONDITION |
︙ | ︙ | |||
748 749 750 751 752 753 754 | /* clear session cookies */ Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); Curl_cookie_clearsess(data->cookies); Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE); } else if(strcasecompare(argptr, "FLUSH")) { /* flush cookies to file, takes care of the locking */ | | | 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 | /* clear session cookies */ Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); Curl_cookie_clearsess(data->cookies); Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE); } else if(strcasecompare(argptr, "FLUSH")) { /* flush cookies to file, takes care of the locking */ Curl_flush_cookies(data, FALSE); } else if(strcasecompare(argptr, "RELOAD")) { /* reload cookies from file */ Curl_cookie_loadfiles(data); break; } else { |
︙ | ︙ | |||
814 815 816 817 818 819 820 | ; else #endif #ifndef USE_NGHTTP2 if(arg >= CURL_HTTP_VERSION_2) return CURLE_UNSUPPORTED_PROTOCOL; #else | | | 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 | ; else #endif #ifndef USE_NGHTTP2 if(arg >= CURL_HTTP_VERSION_2) return CURLE_UNSUPPORTED_PROTOCOL; #else if(arg >= CURL_HTTP_VERSION_LAST) return CURLE_UNSUPPORTED_PROTOCOL; if(arg == CURL_HTTP_VERSION_NONE) arg = CURL_HTTP_VERSION_2TLS; #endif data->set.httpversion = arg; break; |
︙ | ︙ | |||
1105 1106 1107 1108 1109 1110 1111 | #ifndef CURL_DISABLE_FTP case CURLOPT_FTP_FILEMETHOD: /* * How do access files over FTP. */ arg = va_arg(param, long); | | | 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 | #ifndef CURL_DISABLE_FTP case CURLOPT_FTP_FILEMETHOD: /* * How do access files over FTP. */ arg = va_arg(param, long); if((arg < CURLFTPMETHOD_DEFAULT) || (arg >= CURLFTPMETHOD_LAST)) return CURLE_BAD_FUNCTION_ARGUMENT; data->set.ftp_filemethod = (curl_ftpfile)arg; break; case CURLOPT_FTPPORT: /* * Use FTP PORT, this also specifies which IP address to use */ |
︙ | ︙ | |||
1132 1133 1134 1135 1136 1137 1138 | case CURLOPT_FTP_USE_PRET: data->set.ftp_use_pret = (0 != va_arg(param, long)) ? TRUE : FALSE; break; case CURLOPT_FTP_SSL_CCC: arg = va_arg(param, long); | | | 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 | case CURLOPT_FTP_USE_PRET: data->set.ftp_use_pret = (0 != va_arg(param, long)) ? TRUE : FALSE; break; case CURLOPT_FTP_SSL_CCC: arg = va_arg(param, long); if((arg < CURLFTPSSL_CCC_NONE) || (arg >= CURLFTPSSL_CCC_LAST)) return CURLE_BAD_FUNCTION_ARGUMENT; data->set.ftp_ccc = (curl_ftpccc)arg; break; case CURLOPT_FTP_SKIP_PASV_IP: /* * Enable or disable FTP_SKIP_PASV_IP, which will disable/enable the |
︙ | ︙ | |||
1160 1161 1162 1163 1164 1165 1166 | break; case CURLOPT_FTPSSLAUTH: /* * Set a specific auth for FTP-SSL transfers. */ arg = va_arg(param, long); | | | 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 | break; case CURLOPT_FTPSSLAUTH: /* * Set a specific auth for FTP-SSL transfers. */ arg = va_arg(param, long); if((arg < CURLFTPAUTH_DEFAULT) || (arg >= CURLFTPAUTH_LAST)) return CURLE_BAD_FUNCTION_ARGUMENT; data->set.ftpsslauth = (curl_ftpauth)arg; break; case CURLOPT_KRBLEVEL: /* * A string that defines the kerberos security level. */ |
︙ | ︙ | |||
2119 2120 2121 2122 2123 2124 2125 | #ifdef USE_SSL case CURLOPT_USE_SSL: /* * Make transfers attempt to use SSL/TLS. */ arg = va_arg(param, long); | | | 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 | #ifdef USE_SSL case CURLOPT_USE_SSL: /* * Make transfers attempt to use SSL/TLS. */ arg = va_arg(param, long); if((arg < CURLUSESSL_NONE) || (arg >= CURLUSESSL_LAST)) return CURLE_BAD_FUNCTION_ARGUMENT; data->set.use_ssl = (curl_usessl)arg; break; case CURLOPT_SSL_OPTIONS: arg = va_arg(param, long); data->set.ssl.enable_beast = |
︙ | ︙ | |||
2496 2497 2498 2499 2500 2501 2502 | * will increment from this new number henceforth. */ data->state.rtsp_next_client_CSeq = va_arg(param, long); break; case CURLOPT_RTSP_SERVER_CSEQ: /* Same as the above, but for server-initiated requests */ | | | 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 | * will increment from this new number henceforth. */ data->state.rtsp_next_client_CSeq = va_arg(param, long); break; case CURLOPT_RTSP_SERVER_CSEQ: /* Same as the above, but for server-initiated requests */ data->state.rtsp_next_server_CSeq = va_arg(param, long); break; case CURLOPT_INTERLEAVEDATA: data->set.rtp_out = va_arg(param, void *); break; case CURLOPT_INTERLEAVEFUNCTION: /* Set the user defined RTP write function */ |
︙ | ︙ | |||
2721 2722 2723 2724 2725 2726 2727 | if(!data->asi) return CURLE_OUT_OF_MEMORY; } argptr = va_arg(param, char *); result = Curl_setstropt(&data->set.str[STRING_ALTSVC], argptr); if(result) return result; | > | | 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 | if(!data->asi) return CURLE_OUT_OF_MEMORY; } argptr = va_arg(param, char *); result = Curl_setstropt(&data->set.str[STRING_ALTSVC], argptr); if(result) return result; if(argptr) (void)Curl_altsvc_load(data->asi, argptr); break; case CURLOPT_ALTSVC_CTRL: if(!data->asi) { data->asi = Curl_altsvc_init(); if(!data->asi) return CURLE_OUT_OF_MEMORY; } |
︙ | ︙ |
Changes to jni/curl/lib/setup-os400.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_SETUP_OS400_H #define HEADER_CURL_SETUP_OS400_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_SETUP_OS400_H #define HEADER_CURL_SETUP_OS400_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | extern int Curl_os400_connect(int sd, struct sockaddr * destaddr, int addrlen); extern int Curl_os400_bind(int sd, struct sockaddr * localaddr, int addrlen); extern int Curl_os400_sendto(int sd, char *buffer, int buflen, int flags, struct sockaddr * dstaddr, int addrlen); extern int Curl_os400_recvfrom(int sd, char *buffer, int buflen, int flags, struct sockaddr *fromaddr, int *addrlen); #define connect Curl_os400_connect #define bind Curl_os400_bind #define sendto Curl_os400_sendto #define recvfrom Curl_os400_recvfrom #ifdef HAVE_LIBZ #define zlibVersion Curl_os400_zlibVersion #define inflateInit_ Curl_os400_inflateInit_ #define inflateInit2_ Curl_os400_inflateInit2_ #define inflate Curl_os400_inflate #define inflateEnd Curl_os400_inflateEnd #endif #endif /* HEADER_CURL_SETUP_OS400_H */ | > > > > | 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | extern int Curl_os400_connect(int sd, struct sockaddr * destaddr, int addrlen); extern int Curl_os400_bind(int sd, struct sockaddr * localaddr, int addrlen); extern int Curl_os400_sendto(int sd, char *buffer, int buflen, int flags, struct sockaddr * dstaddr, int addrlen); extern int Curl_os400_recvfrom(int sd, char *buffer, int buflen, int flags, struct sockaddr *fromaddr, int *addrlen); extern int Curl_os400_getpeername(int sd, struct sockaddr *addr, int *addrlen); extern int Curl_os400_getsockname(int sd, struct sockaddr *addr, int *addrlen); #define connect Curl_os400_connect #define bind Curl_os400_bind #define sendto Curl_os400_sendto #define recvfrom Curl_os400_recvfrom #define getpeername Curl_os400_getpeername #define getsockname Curl_os400_getsockname #ifdef HAVE_LIBZ #define zlibVersion Curl_os400_zlibVersion #define inflateInit_ Curl_os400_inflateInit_ #define inflateInit2_ Curl_os400_inflateInit2_ #define inflate Curl_os400_inflate #define inflateEnd Curl_os400_inflateEnd #endif #endif /* HEADER_CURL_SETUP_OS400_H */ |
Changes to jni/curl/lib/smb.c.
︙ | ︙ | |||
678 679 680 681 682 683 684 | if(!msg) return CURLE_OK; h = msg; switch(smbc->state) { case SMB_NEGOTIATE: | | > | 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 | if(!msg) return CURLE_OK; h = msg; switch(smbc->state) { case SMB_NEGOTIATE: if((smbc->got < sizeof(*nrsp) + sizeof(smbc->challenge) - 1) || h->status) { connclose(conn, "SMB: negotiation failed"); return CURLE_COULDNT_CONNECT; } nrsp = msg; memcpy(smbc->challenge, nrsp->bytes, sizeof(smbc->challenge)); smbc->session_key = smb_swap32(nrsp->session_key); result = smb_send_setup(conn); |
︙ | ︙ |
Added jni/curl/lib/socketpair.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #include "socketpair.h" #ifndef HAVE_SOCKETPAIR #ifdef WIN32 /* * This is a socketpair() implementation for Windows. */ #include <string.h> #include <winsock2.h> #include <ws2tcpip.h> #include <windows.h> #include <io.h> #else #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_NETINET_IN_H #include <netinet/in.h> /* IPPROTO_TCP */ #endif #ifndef INADDR_LOOPBACK #define INADDR_LOOPBACK 0x7f000001 #endif /* !INADDR_LOOPBACK */ #endif /* !WIN32 */ /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" int Curl_socketpair(int domain, int type, int protocol, curl_socket_t socks[2]) { union { struct sockaddr_in inaddr; struct sockaddr addr; } a; curl_socket_t listener; curl_socklen_t addrlen = sizeof(a.inaddr); int reuse = 1; char data[2][12]; ssize_t dlen; (void)domain; (void)type; (void)protocol; listener = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(listener == CURL_SOCKET_BAD) return -1; memset(&a, 0, sizeof(a)); a.inaddr.sin_family = AF_INET; a.inaddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); a.inaddr.sin_port = 0; socks[0] = socks[1] = CURL_SOCKET_BAD; if(setsockopt(listener, SOL_SOCKET, SO_REUSEADDR, (char *)&reuse, (curl_socklen_t)sizeof(reuse)) == -1) goto error; if(bind(listener, &a.addr, sizeof(a.inaddr)) == -1) goto error; if(getsockname(listener, &a.addr, &addrlen) == -1) goto error; if(listen(listener, 1) == -1) goto error; socks[0] = socket(AF_INET, SOCK_STREAM, 0); if(socks[0] == CURL_SOCKET_BAD) goto error; if(connect(socks[0], &a.addr, sizeof(a.inaddr)) == -1) goto error; socks[1] = accept(listener, NULL, NULL); if(socks[1] == CURL_SOCKET_BAD) goto error; /* verify that nothing else connected */ msnprintf(data[0], sizeof(data[0]), "%p", socks); dlen = strlen(data[0]); if(swrite(socks[0], data[0], dlen) != dlen) goto error; if(sread(socks[1], data[1], sizeof(data[1])) != dlen) goto error; if(memcmp(data[0], data[1], dlen)) goto error; sclose(listener); return 0; error: sclose(listener); sclose(socks[0]); sclose(socks[1]); return -1; } #endif /* ! HAVE_SOCKETPAIR */ |
Added jni/curl/lib/socketpair.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #ifndef HEADER_CURL_SOCKETPAIR_H #define HEADER_CURL_SOCKETPAIR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #ifndef HAVE_SOCKETPAIR int Curl_socketpair(int domain, int type, int protocol, curl_socket_t socks[2]); #else #define Curl_socketpair(a,b,c,d) socketpair(a,b,c,d) #endif /* Defined here to allow specific build configs to disable it completely */ #define USE_SOCKETPAIR 1 #endif /* HEADER_CURL_SOCKETPAIR_H */ |
Changes to jni/curl/lib/socks.c.
︙ | ︙ | |||
34 35 36 37 38 39 40 | #include "urldata.h" #include "sendf.h" #include "select.h" #include "connect.h" #include "timeval.h" #include "socks.h" | > | > | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #include "urldata.h" #include "sendf.h" #include "select.h" #include "connect.h" #include "timeval.h" #include "socks.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* * Helper read-from-socket functions. Does the same as Curl_read() but it * blocks until all bytes amount of buffersize will be read. No more, no less. * * This is STUPID BLOCKING behaviour which we frown upon, but right now this |
︙ | ︙ | |||
368 369 370 371 372 373 374 | Where: o VER protocol version: X'05' o REP Reply field: o X'00' succeeded */ | | | > | 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 | Where: o VER protocol version: X'05' o REP Reply field: o X'00' succeeded */ #define REQUEST_BUFSIZE 600 /* room for large user/pw (255 max each) */ unsigned char socksreq[REQUEST_BUFSIZE]; char dest[REQUEST_BUFSIZE] = "unknown"; /* printable hostname:port */ int idx; ssize_t actualread; ssize_t written; int result; CURLcode code; curl_socket_t sock = conn->sock[sockindex]; struct Curl_easy *data = conn->data; |
︙ | ︙ | |||
601 602 603 604 605 606 607 608 609 610 611 612 613 614 | socksreq[len++] = 0; /* must be zero */ if(!socks5_resolve_local) { socksreq[len++] = 3; /* ATYP: domain name = 3 */ socksreq[len++] = (char) hostname_len; /* address length */ memcpy(&socksreq[len], hostname, hostname_len); /* address str w/o NULL */ len += hostname_len; } else { struct Curl_dns_entry *dns; Curl_addrinfo *hp = NULL; int rc = Curl_resolv(conn, hostname, remote_port, FALSE, &dns); if(rc == CURLRESOLV_ERROR) | > > | 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 | socksreq[len++] = 0; /* must be zero */ if(!socks5_resolve_local) { socksreq[len++] = 3; /* ATYP: domain name = 3 */ socksreq[len++] = (char) hostname_len; /* address length */ memcpy(&socksreq[len], hostname, hostname_len); /* address str w/o NULL */ len += hostname_len; msnprintf(dest, sizeof(dest), "%s:%d", hostname, remote_port); infof(data, "SOCKS5 connect to %s (remotely resolved)\n", dest); } else { struct Curl_dns_entry *dns; Curl_addrinfo *hp = NULL; int rc = Curl_resolv(conn, hostname, remote_port, FALSE, &dns); if(rc == CURLRESOLV_ERROR) |
︙ | ︙ | |||
624 625 626 627 628 629 630 | /* * We cannot use 'hostent' as a struct that Curl_resolv() returns. It * returns a Curl_addrinfo pointer that may not always look the same. */ if(dns) hp = dns->addr; if(hp) { | < | > > > > > > | | | | 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 | /* * We cannot use 'hostent' as a struct that Curl_resolv() returns. It * returns a Curl_addrinfo pointer that may not always look the same. */ if(dns) hp = dns->addr; if(hp) { if(Curl_printable_address(hp, dest, sizeof(dest))) { size_t destlen = strlen(dest); msnprintf(dest + destlen, sizeof(dest) - destlen, ":%d", remote_port); } else { strcpy(dest, "unknown"); } if(hp->ai_family == AF_INET) { int i; struct sockaddr_in *saddr_in; socksreq[len++] = 1; /* ATYP: IPv4 = 1 */ saddr_in = (struct sockaddr_in *)(void *)hp->ai_addr; for(i = 0; i < 4; i++) { socksreq[len++] = ((unsigned char *)&saddr_in->sin_addr.s_addr)[i]; } infof(data, "SOCKS5 connect to IPv4 %s (locally resolved)\n", dest); } #ifdef ENABLE_IPV6 else if(hp->ai_family == AF_INET6) { int i; struct sockaddr_in6 *saddr_in6; socksreq[len++] = 4; /* ATYP: IPv6 = 4 */ saddr_in6 = (struct sockaddr_in6 *)(void *)hp->ai_addr; for(i = 0; i < 16; i++) { socksreq[len++] = ((unsigned char *)&saddr_in6->sin6_addr.s6_addr)[i]; } infof(data, "SOCKS5 connect to IPv6 %s (locally resolved)\n", dest); } #endif else { hp = NULL; /* fail! */ failf(data, "SOCKS5 connection to %s not supported\n", dest); } Curl_resolv_unlock(data, dns); /* not used anymore from now on */ } if(!hp) { failf(data, "Failed to resolve \"%s\" for SOCKS5 connect.", hostname); |
︙ | ︙ | |||
752 753 754 755 756 757 758 | } } #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) } #endif if(socksreq[1] != 0) { /* Anything besides 0 is an error */ | < < < < < < < < < < < < < | < < < | < < < < < < < < < < < < < < < < < < | 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 | } } #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) } #endif if(socksreq[1] != 0) { /* Anything besides 0 is an error */ failf(data, "Can't complete SOCKS5 connection to %s. (%d)", dest, (unsigned char)socksreq[1]); return CURLE_COULDNT_CONNECT; } infof(data, "SOCKS5 request granted.\n"); (void)curlx_nonblock(sock, TRUE); return CURLE_OK; /* Proxy was successful! */ } #endif /* CURL_DISABLE_PROXY */ |
Changes to jni/curl/lib/strcase.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
88 89 90 91 92 93 94 95 96 97 98 99 100 101 | case 'z': return 'Z'; } #endif return in; } /* * Curl_strcasecompare() is for doing "raw" case insensitive strings. This is * meant to be locale independent and only compare strings we know are safe * for this. See * https://daniel.haxx.se/blog/2008/10/15/strcasecmp-in-turkish/ for some * further explanation to why this function is necessary. | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | case 'z': return 'Z'; } #endif return in; } /* Portable, consistent tolower (remember EBCDIC). Do not use tolower() because its behavior is altered by the current locale. */ char Curl_raw_tolower(char in) { #if !defined(CURL_DOES_CONVERSIONS) if(in >= 'A' && in <= 'Z') return (char)('a' + in - 'A'); #else switch(in) { case 'A': return 'a'; case 'B': return 'b'; case 'C': return 'c'; case 'D': return 'd'; case 'E': return 'e'; case 'F': return 'f'; case 'G': return 'g'; case 'H': return 'h'; case 'I': return 'i'; case 'J': return 'j'; case 'K': return 'k'; case 'L': return 'l'; case 'M': return 'm'; case 'N': return 'n'; case 'O': return 'o'; case 'P': return 'p'; case 'Q': return 'q'; case 'R': return 'r'; case 'S': return 's'; case 'T': return 't'; case 'U': return 'u'; case 'V': return 'v'; case 'W': return 'w'; case 'X': return 'x'; case 'Y': return 'y'; case 'Z': return 'z'; } #endif return in; } /* * Curl_strcasecompare() is for doing "raw" case insensitive strings. This is * meant to be locale independent and only compare strings we know are safe * for this. See * https://daniel.haxx.se/blog/2008/10/15/strcasecmp-in-turkish/ for some * further explanation to why this function is necessary. |
︙ | ︙ | |||
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | if(n < 1) return; do { *dest++ = Curl_raw_toupper(*src); } while(*src++ && --n); } /* --- public functions --- */ int curl_strequal(const char *first, const char *second) { return Curl_strcasecompare(first, second); } int curl_strnequal(const char *first, const char *second, size_t max) { return Curl_strncasecompare(first, second, max); } | > > > > > > > > > > > > > > > | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | if(n < 1) return; do { *dest++ = Curl_raw_toupper(*src); } while(*src++ && --n); } /* Copy a lower case version of the string from src to dest. The * strings may overlap. No more than n characters of the string are copied * (including any NUL) and the destination string will NOT be * NUL-terminated if that limit is reached. */ void Curl_strntolower(char *dest, const char *src, size_t n) { if(n < 1) return; do { *dest++ = Curl_raw_tolower(*src); } while(*src++ && --n); } /* --- public functions --- */ int curl_strequal(const char *first, const char *second) { return Curl_strcasecompare(first, second); } int curl_strnequal(const char *first, const char *second, size_t max) { return Curl_strncasecompare(first, second, max); } |
Changes to jni/curl/lib/strcase.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_STRCASE_H #define HEADER_CURL_STRCASE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_STRCASE_H #define HEADER_CURL_STRCASE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #define strncasecompare(a,b,c) Curl_strncasecompare(a,b,c) int Curl_strcasecompare(const char *first, const char *second); int Curl_safe_strcasecompare(const char *first, const char *second); int Curl_strncasecompare(const char *first, const char *second, size_t max); char Curl_raw_toupper(char in); /* checkprefix() is a shorter version of the above, used when the first argument is zero-byte terminated */ #define checkprefix(a,b) curl_strnequal(a,b,strlen(a)) void Curl_strntoupper(char *dest, const char *src, size_t n); #endif /* HEADER_CURL_STRCASE_H */ | > > | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #define strncasecompare(a,b,c) Curl_strncasecompare(a,b,c) int Curl_strcasecompare(const char *first, const char *second); int Curl_safe_strcasecompare(const char *first, const char *second); int Curl_strncasecompare(const char *first, const char *second, size_t max); char Curl_raw_toupper(char in); char Curl_raw_tolower(char in); /* checkprefix() is a shorter version of the above, used when the first argument is zero-byte terminated */ #define checkprefix(a,b) curl_strnequal(a,b,strlen(a)) void Curl_strntoupper(char *dest, const char *src, size_t n); void Curl_strntolower(char *dest, const char *src, size_t n); #endif /* HEADER_CURL_STRCASE_H */ |
Changes to jni/curl/lib/transfer.c.
︙ | ︙ | |||
772 773 774 775 776 777 778 | if(k->chunk) { /* * Here comes a chunked transfer flying and we need to decode this * properly. While the name says read, this function both reads * and writes away the data. The returned 'nread' holds the number * of actual data it wrote to the client. */ | | | | | | | 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 | if(k->chunk) { /* * Here comes a chunked transfer flying and we need to decode this * properly. While the name says read, this function both reads * and writes away the data. The returned 'nread' holds the number * of actual data it wrote to the client. */ CURLcode extra; CHUNKcode res = Curl_httpchunk_read(conn, k->str, nread, &nread, &extra); if(CHUNKE_OK < res) { if(CHUNKE_PASSTHRU_ERROR == res) { failf(data, "Failed reading the chunked-encoded stream"); return extra; } failf(data, "%s in chunked-encoding", Curl_chunked_strerror(res)); return CURLE_RECV_ERROR; } if(CHUNKE_STOP == res) { size_t dataleft; /* we're done reading chunks! */ |
︙ | ︙ | |||
1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 | if(wc->state < CURLWC_INIT) { result = Curl_wildcard_init(wc); /* init wildcard structures */ if(result) return CURLE_OUT_OF_MEMORY; } } #endif } return result; } /* * Curl_posttransfer() is called immediately after a transfer ends | > | 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 | if(wc->state < CURLWC_INIT) { result = Curl_wildcard_init(wc); /* init wildcard structures */ if(result) return CURLE_OUT_OF_MEMORY; } } #endif Curl_http2_init_state(&data->state); } return result; } /* * Curl_posttransfer() is called immediately after a transfer ends |
︙ | ︙ | |||
1587 1588 1589 1590 1591 1592 1593 | if(Curl_is_absolute_url(newurl, NULL, MAX_SCHEME_LEN)) /* This is an absolute URL, don't allow the custom port number */ disallowport = TRUE; DEBUGASSERT(data->state.uh); uc = curl_url_set(data->state.uh, CURLUPART_URL, newurl, | | > | 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 | if(Curl_is_absolute_url(newurl, NULL, MAX_SCHEME_LEN)) /* This is an absolute URL, don't allow the custom port number */ disallowport = TRUE; DEBUGASSERT(data->state.uh); uc = curl_url_set(data->state.uh, CURLUPART_URL, newurl, (type == FOLLOW_FAKE) ? CURLU_NON_SUPPORT_SCHEME : ((type == FOLLOW_REDIR) ? CURLU_URLENCODE : 0) ); if(uc) { if(type != FOLLOW_FAKE) return Curl_uc_to_curlcode(uc); /* the URL could not be parsed for some reason, but since this is FAKE mode, just duplicate the field as-is */ newurl = strdup(newurl); |
︙ | ︙ |
Changes to jni/curl/lib/url.c.
︙ | ︙ | |||
313 314 315 316 317 318 319 | * cleanup and free all resources associated with this sessionhandle. * * NOTE: if we ever add something that attempts to write to a socket or * similar here, we must ignore SIGPIPE first. It is currently only done * when curl_easy_perform() is invoked. */ | | > | > > > | 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | * cleanup and free all resources associated with this sessionhandle. * * NOTE: if we ever add something that attempts to write to a socket or * similar here, we must ignore SIGPIPE first. It is currently only done * when curl_easy_perform() is invoked. */ CURLcode Curl_close(struct Curl_easy **datap) { struct Curl_multi *m; struct Curl_easy *data; if(!datap || !*datap) return CURLE_OK; data = *datap; *datap = NULL; Curl_expire_clear(data); /* shut off timers */ m = data->multi; if(m) /* This handle is still part of a multi handle, take care of this first and detach this handle from there. */ |
︙ | ︙ | |||
370 371 372 373 374 375 376 | } data->change.referer = NULL; up_free(data); Curl_safefree(data->state.buffer); Curl_safefree(data->state.headerbuff); Curl_safefree(data->state.ulbuf); | | | 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | } data->change.referer = NULL; up_free(data); Curl_safefree(data->state.buffer); Curl_safefree(data->state.headerbuff); Curl_safefree(data->state.ulbuf); Curl_flush_cookies(data, TRUE); #ifdef USE_ALTSVC Curl_altsvc_save(data->asi, data->set.str[STRING_ALTSVC]); Curl_altsvc_cleanup(data->asi); data->asi = NULL; #endif #if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH) Curl_http_auth_cleanup_digest(data); |
︙ | ︙ | |||
394 395 396 397 398 399 400 401 402 403 404 405 406 407 | /* No longer a dirty share, if it exists */ if(data->share) { Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE); data->share->dirty--; Curl_share_unlock(data, CURL_LOCK_DATA_SHARE); } /* destruct wildcard structures if it is needed */ Curl_wildcard_dtor(&data->wildcard); Curl_freeset(data); free(data); return CURLE_OK; } | > > > > | 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | /* No longer a dirty share, if it exists */ if(data->share) { Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE); data->share->dirty--; Curl_share_unlock(data, CURL_LOCK_DATA_SHARE); } free(data->req.doh.probe[0].serverdoh.memory); free(data->req.doh.probe[1].serverdoh.memory); curl_slist_free_all(data->req.doh.headers); /* destruct wildcard structures if it is needed */ Curl_wildcard_dtor(&data->wildcard); Curl_freeset(data); free(data); return CURLE_OK; } |
︙ | ︙ | |||
608 609 610 611 612 613 614 | Curl_initinfo(data); /* most recent connection is not yet defined */ data->state.lastconnect = NULL; data->progress.flags |= PGRS_HIDE; data->state.current_speed = -1; /* init to negative == impossible */ | < < | 616 617 618 619 620 621 622 623 624 625 626 627 628 629 | Curl_initinfo(data); /* most recent connection is not yet defined */ data->state.lastconnect = NULL; data->progress.flags |= PGRS_HIDE; data->state.current_speed = -1; /* init to negative == impossible */ } } if(result) { Curl_resolver_cleanup(data->state.resolver); free(data->state.buffer); free(data->state.headerbuff); |
︙ | ︙ | |||
1037 1038 1039 1040 1041 1042 1043 | infof(data, "Found bundle for host %s: %p [%s]\n", hostbundle, (void *)bundle, (bundle->multiuse == BUNDLE_MULTIPLEX ? "can multiplex" : "serially")); /* We can't multiplex if we don't know anything about the server */ if(canmultiplex) { if(bundle->multiuse == BUNDLE_UNKNOWN) { | | | 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 | infof(data, "Found bundle for host %s: %p [%s]\n", hostbundle, (void *)bundle, (bundle->multiuse == BUNDLE_MULTIPLEX ? "can multiplex" : "serially")); /* We can't multiplex if we don't know anything about the server */ if(canmultiplex) { if(bundle->multiuse == BUNDLE_UNKNOWN) { if(data->set.pipewait) { infof(data, "Server doesn't support multiplex yet, wait\n"); *waitpipe = TRUE; Curl_conncache_unlock(data); return FALSE; /* no re-use */ } infof(data, "Server doesn't support multiplex (yet)\n"); |
︙ | ︙ | |||
1273 1274 1275 1276 1277 1278 1279 | /* If we are looking for an HTTP+NTLM connection, check if this is already authenticating with the right credentials. If not, keep looking so that we can reuse NTLM connections if possible. (Especially we must not reuse the same connection if partway through a handshake!) */ if(wantNTLMhttp) { if(strcmp(needle->user, check->user) || | | > > > > > > | 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 | /* If we are looking for an HTTP+NTLM connection, check if this is already authenticating with the right credentials. If not, keep looking so that we can reuse NTLM connections if possible. (Especially we must not reuse the same connection if partway through a handshake!) */ if(wantNTLMhttp) { if(strcmp(needle->user, check->user) || strcmp(needle->passwd, check->passwd)) { /* we prefer a credential match, but this is at least a connection that can be reused and "upgraded" to NTLM */ if(check->http_ntlm_state == NTLMSTATE_NONE) chosen = check; continue; } } else if(check->http_ntlm_state != NTLMSTATE_NONE) { /* Connection is using NTLM auth but we don't want NTLM */ continue; } /* Same for Proxy NTLM authentication */ |
︙ | ︙ | |||
1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 | if(!url) return CURLE_OUT_OF_MEMORY; data->change.url = url; data->change.url_alloc = TRUE; } if(!data->set.uh) { uc = curl_url_set(uh, CURLUPART_URL, data->change.url, CURLU_GUESS_SCHEME | CURLU_NON_SUPPORT_SCHEME | (data->set.disallow_username_in_url ? CURLU_DISALLOW_USER : 0) | (data->set.path_as_is ? CURLU_PATH_AS_IS : 0)); if(uc) { DEBUGF(infof(data, "curl_url_set rejected %s\n", data->change.url)); return Curl_uc_to_curlcode(uc); } } uc = curl_url_get(uh, CURLUPART_SCHEME, &data->state.up.scheme, 0); if(uc) return Curl_uc_to_curlcode(uc); result = findprotocol(data, conn, data->state.up.scheme); | > > > > > > > > > > | 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 | if(!url) return CURLE_OUT_OF_MEMORY; data->change.url = url; data->change.url_alloc = TRUE; } if(!data->set.uh) { char *newurl; uc = curl_url_set(uh, CURLUPART_URL, data->change.url, CURLU_GUESS_SCHEME | CURLU_NON_SUPPORT_SCHEME | (data->set.disallow_username_in_url ? CURLU_DISALLOW_USER : 0) | (data->set.path_as_is ? CURLU_PATH_AS_IS : 0)); if(uc) { DEBUGF(infof(data, "curl_url_set rejected %s\n", data->change.url)); return Curl_uc_to_curlcode(uc); } /* after it was parsed, get the generated normalized version */ uc = curl_url_get(uh, CURLUPART_URL, &newurl, 0); if(uc) return Curl_uc_to_curlcode(uc); if(data->change.url_alloc) free(data->change.url); data->change.url = newurl; data->change.url_alloc = TRUE; } uc = curl_url_get(uh, CURLUPART_SCHEME, &data->state.up.scheme, 0); if(uc) return Curl_uc_to_curlcode(uc); result = findprotocol(data, conn, data->state.up.scheme); |
︙ | ︙ | |||
1859 1860 1861 1862 1863 1864 1865 | unsigned long port = strtoul(data->state.up.port, NULL, 10); conn->port = conn->remote_port = curlx_ultous(port); } (void)curl_url_get(uh, CURLUPART_QUERY, &data->state.up.query, 0); hostname = data->state.up.hostname; | < < < < | | | 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 | unsigned long port = strtoul(data->state.up.port, NULL, 10); conn->port = conn->remote_port = curlx_ultous(port); } (void)curl_url_get(uh, CURLUPART_QUERY, &data->state.up.query, 0); hostname = data->state.up.hostname; if(hostname && hostname[0] == '[') { /* This looks like an IPv6 address literal. See if there is an address scope. */ size_t hlen; conn->bits.ipv6_ip = TRUE; /* cut off the brackets! */ hostname++; hlen = strlen(hostname); hostname[hlen - 1] = 0; zonefrom_url(uh, conn); } /* make sure the connect struct gets its own copy of the host name */ conn->host.rawalloc = strdup(hostname ? hostname : ""); if(!conn->host.rawalloc) return CURLE_OUT_OF_MEMORY; conn->host.name = conn->host.rawalloc; if(data->set.scope_id) /* Override any scope that was set above. */ conn->scope_id = data->set.scope_id; |
︙ | ︙ | |||
1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 | * Curl_easy for this single request. */ void Curl_free_request_state(struct Curl_easy *data) { Curl_safefree(data->req.protop); Curl_safefree(data->req.newurl); } #ifndef CURL_DISABLE_PROXY /**************************************************************** * Checks if the host is in the noproxy list. returns true if it matches * and therefore the proxy should NOT be used. | > > | 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 | * Curl_easy for this single request. */ void Curl_free_request_state(struct Curl_easy *data) { Curl_safefree(data->req.protop); Curl_safefree(data->req.newurl); Curl_close(&data->req.doh.probe[0].easy); Curl_close(&data->req.doh.probe[1].easy); } #ifndef CURL_DISABLE_PROXY /**************************************************************** * Checks if the host is in the noproxy list. returns true if it matches * and therefore the proxy should NOT be used. |
︙ | ︙ | |||
2750 2751 2752 2753 2754 2755 2756 | /* Store the default password */ if(!conn->passwd) { conn->passwd = strdup(setpasswd); if(!conn->passwd) result = CURLE_OUT_OF_MEMORY; } | < < < < < < < | 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 | /* Store the default password */ if(!conn->passwd) { conn->passwd = strdup(setpasswd); if(!conn->passwd) result = CURLE_OUT_OF_MEMORY; } return result; } /* * Parses a "host:port" string to connect to. * The hostname and the port may be empty; in this case, NULL is returned for * the hostname and -1 for the port. |
︙ | ︙ | |||
3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 | data->set.str[STRING_SSL_CIPHER_LIST_ORIG]; data->set.proxy_ssl.primary.cipher_list = data->set.str[STRING_SSL_CIPHER_LIST_PROXY]; data->set.ssl.primary.cipher_list13 = data->set.str[STRING_SSL_CIPHER13_LIST_ORIG]; data->set.proxy_ssl.primary.cipher_list13 = data->set.str[STRING_SSL_CIPHER13_LIST_PROXY]; data->set.ssl.CRLfile = data->set.str[STRING_SSL_CRLFILE_ORIG]; data->set.proxy_ssl.CRLfile = data->set.str[STRING_SSL_CRLFILE_PROXY]; data->set.ssl.issuercert = data->set.str[STRING_SSL_ISSUERCERT_ORIG]; data->set.proxy_ssl.issuercert = data->set.str[STRING_SSL_ISSUERCERT_PROXY]; data->set.ssl.cert = data->set.str[STRING_CERT_ORIG]; data->set.proxy_ssl.cert = data->set.str[STRING_CERT_PROXY]; | > > > > | 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 | data->set.str[STRING_SSL_CIPHER_LIST_ORIG]; data->set.proxy_ssl.primary.cipher_list = data->set.str[STRING_SSL_CIPHER_LIST_PROXY]; data->set.ssl.primary.cipher_list13 = data->set.str[STRING_SSL_CIPHER13_LIST_ORIG]; data->set.proxy_ssl.primary.cipher_list13 = data->set.str[STRING_SSL_CIPHER13_LIST_PROXY]; data->set.ssl.primary.pinned_key = data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG]; data->set.proxy_ssl.primary.pinned_key = data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY]; data->set.ssl.CRLfile = data->set.str[STRING_SSL_CRLFILE_ORIG]; data->set.proxy_ssl.CRLfile = data->set.str[STRING_SSL_CRLFILE_PROXY]; data->set.ssl.issuercert = data->set.str[STRING_SSL_ISSUERCERT_ORIG]; data->set.proxy_ssl.issuercert = data->set.str[STRING_SSL_ISSUERCERT_PROXY]; data->set.ssl.cert = data->set.str[STRING_CERT_ORIG]; data->set.proxy_ssl.cert = data->set.str[STRING_CERT_PROXY]; |
︙ | ︙ | |||
3811 3812 3813 3814 3815 3816 3817 | conn->bits.tcpconnect[FIRSTSOCKET] = FALSE; result = Curl_connecthost(conn, conn->dns_entry); if(result) return result; } else { Curl_pgrsTime(data, TIMER_CONNECT); /* we're connected already */ | > > | | 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 | conn->bits.tcpconnect[FIRSTSOCKET] = FALSE; result = Curl_connecthost(conn, conn->dns_entry); if(result) return result; } else { Curl_pgrsTime(data, TIMER_CONNECT); /* we're connected already */ if(conn->ssl[FIRSTSOCKET].use || (conn->handler->protocol & PROTO_FAMILY_SSH)) Curl_pgrsTime(data, TIMER_APPCONNECT); /* we're connected already */ conn->bits.tcpconnect[FIRSTSOCKET] = TRUE; *protocol_done = TRUE; Curl_updateconninfo(conn, conn->sock[FIRSTSOCKET]); Curl_verboseconnect(conn); } conn->now = Curl_now(); /* time this *after* the connect is done, we set |
︙ | ︙ |
Changes to jni/curl/lib/url.h.
︙ | ︙ | |||
45 46 47 48 49 50 51 | CURLcode Curl_init_do(struct Curl_easy *data, struct connectdata *conn); CURLcode Curl_open(struct Curl_easy **curl); CURLcode Curl_init_userdefined(struct Curl_easy *data); void Curl_freeset(struct Curl_easy * data); CURLcode Curl_uc_to_curlcode(CURLUcode uc); | | | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | CURLcode Curl_init_do(struct Curl_easy *data, struct connectdata *conn); CURLcode Curl_open(struct Curl_easy **curl); CURLcode Curl_init_userdefined(struct Curl_easy *data); void Curl_freeset(struct Curl_easy * data); CURLcode Curl_uc_to_curlcode(CURLUcode uc); CURLcode Curl_close(struct Curl_easy **datap); /* opposite of curl_open() */ CURLcode Curl_connect(struct Curl_easy *, bool *async, bool *protocol_connect); CURLcode Curl_disconnect(struct Curl_easy *data, struct connectdata *, bool dead_connection); CURLcode Curl_setup_conn(struct connectdata *conn, bool *protocol_done); void Curl_free_request_state(struct Curl_easy *data); CURLcode Curl_parse_login_details(const char *login, const size_t len, |
︙ | ︙ |
Changes to jni/curl/lib/urlapi.c.
︙ | ︙ | |||
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | char *zoneid; /* for numerical IPv6 addresses */ char *port; char *path; char *query; char *fragment; char *scratch; /* temporary scratch area */ long portnum; /* the numerical version */ }; #define DEFAULT_SCHEME "https" static void free_urlhandle(struct Curl_URL *u) { free(u->scheme); free(u->user); free(u->password); free(u->options); free(u->host); free(u->zoneid); free(u->port); free(u->path); free(u->query); free(u->fragment); free(u->scratch); } /* move the full contents of one handle onto another and free the original */ static void mv_urlhandle(struct Curl_URL *from, struct Curl_URL *to) { | > > | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | char *zoneid; /* for numerical IPv6 addresses */ char *port; char *path; char *query; char *fragment; char *scratch; /* temporary scratch area */ char *temppath; /* temporary path pointer */ long portnum; /* the numerical version */ }; #define DEFAULT_SCHEME "https" static void free_urlhandle(struct Curl_URL *u) { free(u->scheme); free(u->user); free(u->password); free(u->options); free(u->host); free(u->zoneid); free(u->port); free(u->path); free(u->query); free(u->fragment); free(u->scratch); free(u->temppath); } /* move the full contents of one handle onto another and free the original */ static void mv_urlhandle(struct Curl_URL *from, struct Curl_URL *to) { |
︙ | ︙ | |||
347 348 349 350 351 352 353 | } } } } else { /* We got a new absolute path for this server */ | | | 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | } } } } else { /* We got a new absolute path for this server */ if(relurl[1] == '/') { /* the new URL starts with //, just keep the protocol part from the original one */ *protsep = 0; useurl = &relurl[2]; /* we keep the slashes from the original, so we skip the new ones */ host_changed = TRUE; } |
︙ | ︙ | |||
592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 | static CURLUcode hostname_check(struct Curl_URL *u, char *hostname) { size_t len; size_t hlen = strlen(hostname); if(hostname[0] == '[') { char dest[16]; /* fits a binary IPv6 address */ const char *l = "0123456789abcdefABCDEF:."; hostname++; hlen -= 2; if(hostname[hlen] != ']') return CURLUE_MALFORMED_INPUT; /* only valid letters are ok */ | > > > > | 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 | static CURLUcode hostname_check(struct Curl_URL *u, char *hostname) { size_t len; size_t hlen = strlen(hostname); if(hostname[0] == '[') { #ifdef ENABLE_IPV6 char dest[16]; /* fits a binary IPv6 address */ #endif const char *l = "0123456789abcdefABCDEF:."; if(hlen < 5) /* '[::1]' is the shortest possible valid string */ return CURLUE_MALFORMED_INPUT; hostname++; hlen -= 2; if(hostname[hlen] != ']') return CURLUE_MALFORMED_INPUT; /* only valid letters are ok */ |
︙ | ︙ | |||
780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 | schemep = schemebuf; if(!Curl_builtin_scheme(schemep) && !(flags & CURLU_NON_SUPPORT_SCHEME)) return CURLUE_UNSUPPORTED_SCHEME; if(junkscan(schemep)) return CURLUE_MALFORMED_INPUT; } else { /* no scheme! */ if(!(flags & (CURLU_DEFAULT_SCHEME|CURLU_GUESS_SCHEME))) return CURLUE_MALFORMED_INPUT; if(flags & CURLU_DEFAULT_SCHEME) schemep = (char *) DEFAULT_SCHEME; /* * The URL was badly formatted, let's try without scheme specified. */ p = url; } hostp = p; /* host name starts here */ while(*p && !HOSTNAME_END(*p)) /* find end of host name */ p++; len = p - hostp; | > | < < | | > > > > > | 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 | schemep = schemebuf; if(!Curl_builtin_scheme(schemep) && !(flags & CURLU_NON_SUPPORT_SCHEME)) return CURLUE_UNSUPPORTED_SCHEME; if(junkscan(schemep)) return CURLUE_MALFORMED_INPUT; } else { /* no scheme! */ if(!(flags & (CURLU_DEFAULT_SCHEME|CURLU_GUESS_SCHEME))) return CURLUE_MALFORMED_INPUT; if(flags & CURLU_DEFAULT_SCHEME) schemep = (char *) DEFAULT_SCHEME; /* * The URL was badly formatted, let's try without scheme specified. */ p = url; } hostp = p; /* host name starts here */ while(*p && !HOSTNAME_END(*p)) /* find end of host name */ p++; len = p - hostp; if(len) { memcpy(hostname, hostp, len); hostname[len] = 0; } else { if(!(flags & CURLU_NO_AUTHORITY)) return CURLUE_MALFORMED_INPUT; } if((flags & CURLU_GUESS_SCHEME) && !schemep) { /* legacy curl-style guess based on host name */ if(checkprefix("ftp.", hostname)) schemep = (char *)"ftp"; else if(checkprefix("dict.", hostname)) schemep = (char *)"dict"; |
︙ | ︙ | |||
839 840 841 842 843 844 845 | /* if this is a known scheme, get some details */ h = Curl_builtin_scheme(u->scheme); if(junkscan(path)) return CURLUE_MALFORMED_INPUT; | < < < | < < < | < < < < < | > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > | | | | | | | > > > > > | | | > < < < < < < < < < < < | | | 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 | /* if this is a known scheme, get some details */ h = Curl_builtin_scheme(u->scheme); if(junkscan(path)) return CURLUE_MALFORMED_INPUT; if((flags & CURLU_URLENCODE) && path[0]) { /* worst case output length is 3x the original! */ char *newp = malloc(strlen(path) * 3); if(!newp) return CURLUE_OUT_OF_MEMORY; path_alloced = TRUE; strcpy_url(newp, path, TRUE); /* consider it relative */ u->temppath = path = newp; } fragment = strchr(path, '#'); if(fragment) { *fragment++ = 0; if(fragment[0]) { u->fragment = strdup(fragment); if(!u->fragment) return CURLUE_OUT_OF_MEMORY; } } query = strchr(path, '?'); if(query) { *query++ = 0; /* done even if the query part is a blank string */ u->query = strdup(query); if(!u->query) return CURLUE_OUT_OF_MEMORY; } if(!path[0]) /* if there's no path left set, unset */ path = NULL; else { if(!(flags & CURLU_PATH_AS_IS)) { /* remove ../ and ./ sequences according to RFC3986 */ char *newp = Curl_dedotdotify(path); if(!newp) return CURLUE_OUT_OF_MEMORY; if(strcmp(newp, path)) { /* if we got a new version */ if(path_alloced) Curl_safefree(u->temppath); u->temppath = path = newp; path_alloced = TRUE; } else free(newp); } u->path = path_alloced?path:strdup(path); if(!u->path) return CURLUE_OUT_OF_MEMORY; u->temppath = NULL; /* used now */ } if(hostname) { /* * Parse the login details and strip them out of the host name. */ if(junkscan(hostname)) return CURLUE_MALFORMED_INPUT; result = parse_hostname_login(u, h, &hostname, flags); if(result) return result; result = Curl_parse_port(u, hostname); if(result) return result; if(0 == strlen(hostname) && (flags & CURLU_NO_AUTHORITY)) { /* Skip hostname check, it's allowed to be empty. */ } else { result = hostname_check(u, hostname); if(result) return result; } u->host = strdup(hostname); if(!u->host) return CURLUE_OUT_OF_MEMORY; } Curl_safefree(u->scratch); Curl_safefree(u->temppath); return CURLUE_OK; } /* * Parse the URL and set the relevant members of the Curl_URL struct. */ |
︙ | ︙ | |||
1071 1072 1073 1074 1075 1076 1077 | if(u->scheme) scheme = u->scheme; else if(flags & CURLU_DEFAULT_SCHEME) scheme = (char *) DEFAULT_SCHEME; else return CURLUE_NO_SCHEME; | < | | | | | | | | | | | | | | | | | | 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 | if(u->scheme) scheme = u->scheme; else if(flags & CURLU_DEFAULT_SCHEME) scheme = (char *) DEFAULT_SCHEME; else return CURLUE_NO_SCHEME; h = Curl_builtin_scheme(scheme); if(!port && (flags & CURLU_DEFAULT_PORT)) { /* there's no stored port number, but asked to deliver a default one for the scheme */ if(h) { msnprintf(portbuf, sizeof(portbuf), "%ld", h->defport); port = portbuf; } } else if(port) { /* there is a stored port number, but asked to inhibit if it matches the default one for the scheme */ if(h && (h->defport == u->portnum) && (flags & CURLU_NO_DEFAULT_PORT)) port = NULL; } if(h && !(h->flags & PROTOPT_URLOPTIONS)) options = NULL; if((u->host[0] == '[') && u->zoneid) { /* make it '[ host %25 zoneid ]' */ size_t hostlen = strlen(u->host); size_t alen = hostlen + 3 + strlen(u->zoneid) + 1; |
︙ | ︙ | |||
1336 1337 1338 1339 1340 1341 1342 | else curl_url_cleanup(handle2); return result; } default: return CURLUE_UNKNOWN_PART; } | | > | 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 | else curl_url_cleanup(handle2); return result; } default: return CURLUE_UNKNOWN_PART; } DEBUGASSERT(storep); { const char *newp = part; size_t nalloc = strlen(part); if(nalloc > CURL_MAX_INPUT_LENGTH) /* excessive input length */ return CURLUE_MALFORMED_INPUT; |
︙ | ︙ | |||
1428 1429 1430 1431 1432 1433 1434 | free(*storep); *storep = p; return CURLUE_OK; } } if(what == CURLUPART_HOST) { | > > > > | | | > | 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 | free(*storep); *storep = p; return CURLUE_OK; } } if(what == CURLUPART_HOST) { if(0 == strlen(newp) && (flags & CURLU_NO_AUTHORITY)) { /* Skip hostname check, it's allowed to be empty. */ } else { if(hostname_check(u, (char *)newp)) { free((char *)newp); return CURLUE_MALFORMED_INPUT; } } } free(*storep); *storep = (char *)newp; } /* set after the string, to make it not assigned if the allocation above fails */ if(port) u->portnum = port; return CURLUE_OK; } |
Changes to jni/curl/lib/urldata.h.
︙ | ︙ | |||
64 65 66 67 68 69 70 71 72 73 74 75 76 77 | protocol handler should only ever have a single CURLPROTO_ in its protocol field. */ #define PROTO_FAMILY_HTTP (CURLPROTO_HTTP|CURLPROTO_HTTPS) #define PROTO_FAMILY_FTP (CURLPROTO_FTP|CURLPROTO_FTPS) #define PROTO_FAMILY_POP3 (CURLPROTO_POP3|CURLPROTO_POP3S) #define PROTO_FAMILY_SMB (CURLPROTO_SMB|CURLPROTO_SMBS) #define PROTO_FAMILY_SMTP (CURLPROTO_SMTP|CURLPROTO_SMTPS) #define DEFAULT_CONNCACHE_SIZE 5 /* length of longest IPv6 address string including the trailing null */ #define MAX_IPADR_LEN sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255") /* Default FTP/IMAP etc response timeout in milliseconds. | > | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | protocol handler should only ever have a single CURLPROTO_ in its protocol field. */ #define PROTO_FAMILY_HTTP (CURLPROTO_HTTP|CURLPROTO_HTTPS) #define PROTO_FAMILY_FTP (CURLPROTO_FTP|CURLPROTO_FTPS) #define PROTO_FAMILY_POP3 (CURLPROTO_POP3|CURLPROTO_POP3S) #define PROTO_FAMILY_SMB (CURLPROTO_SMB|CURLPROTO_SMBS) #define PROTO_FAMILY_SMTP (CURLPROTO_SMTP|CURLPROTO_SMTPS) #define PROTO_FAMILY_SSH (CURLPROTO_SCP|CURLPROTO_SFTP) #define DEFAULT_CONNCACHE_SIZE 5 /* length of longest IPv6 address string including the trailing null */ #define MAX_IPADR_LEN sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255") /* Default FTP/IMAP etc response timeout in milliseconds. |
︙ | ︙ | |||
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | #define HEADERSIZE 256 #define CURLEASY_MAGIC_NUMBER 0xc0dedbadU #define GOOD_EASY_HANDLE(x) \ ((x) && ((x)->magic == CURLEASY_MAGIC_NUMBER)) /* the type we use for storing a single boolean bit */ typedef unsigned int bit; #ifdef HAVE_GSSAPI /* Types needed for krb5-ftp connections */ struct krb5buffer { void *data; size_t size; size_t index; | > > > > > > | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | #define HEADERSIZE 256 #define CURLEASY_MAGIC_NUMBER 0xc0dedbadU #define GOOD_EASY_HANDLE(x) \ ((x) && ((x)->magic == CURLEASY_MAGIC_NUMBER)) /* the type we use for storing a single boolean bit */ #ifdef _MSC_VER typedef bool bit; #define BIT(x) bool x #else typedef unsigned int bit; #define BIT(x) bit x:1 #endif #ifdef HAVE_GSSAPI /* Types needed for krb5-ftp connections */ struct krb5buffer { void *data; size_t size; size_t index; BIT(eof_flag); }; enum protection_level { PROT_NONE, /* first in list */ PROT_CLEAR, PROT_SAFE, PROT_CONFIDENTIAL, |
︙ | ︙ | |||
205 206 207 208 209 210 211 | but at least asked to or meaning to use it. See 'state' for the exact current state of the connection. */ ssl_connection_state state; ssl_connect_state connecting_state; #if defined(USE_SSL) struct ssl_backend_data *backend; #endif | | > | | | | | | | | | 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | but at least asked to or meaning to use it. See 'state' for the exact current state of the connection. */ ssl_connection_state state; ssl_connect_state connecting_state; #if defined(USE_SSL) struct ssl_backend_data *backend; #endif BIT(use); }; struct ssl_primary_config { long version; /* what version the client wants to use */ long version_max; /* max supported version the client wants to use*/ char *CApath; /* certificate dir (doesn't work on windows) */ char *CAfile; /* certificate to verify peer against */ char *clientcert; char *random_file; /* path to file containing "random" data */ char *egdsocket; /* path to file containing the EGD daemon socket */ char *cipher_list; /* list of ciphers to use */ char *cipher_list13; /* list of TLS 1.3 cipher suites to use */ char *pinned_key; BIT(verifypeer); /* set TRUE if this is desired */ BIT(verifyhost); /* set TRUE if CN/SAN must match hostname */ BIT(verifystatus); /* set TRUE if certificate status must be checked */ BIT(sessionid); /* cache session IDs or not */ }; struct ssl_config_data { struct ssl_primary_config primary; long certverifyresult; /* result from the certificate verification */ char *CRLfile; /* CRL to check certificate revocation */ char *issuercert;/* optional issuer certificate filename */ curl_ssl_ctx_callback fsslctx; /* function to initialize ssl ctx */ void *fsslctxp; /* parameter for call back */ char *cert; /* client certificate file name */ char *cert_type; /* format for certificate (default: PEM)*/ char *key; /* private key file name */ char *key_type; /* format for private key (default: PEM) */ char *key_passwd; /* plain text private key password */ #ifdef USE_TLS_SRP char *username; /* TLS username (for, e.g., SRP) */ char *password; /* TLS password (for, e.g., SRP) */ enum CURL_TLSAUTH authtype; /* TLS authentication type (default SRP) */ #endif BIT(certinfo); /* gather lots of certificate info */ BIT(falsestart); BIT(enable_beast); /* allow this flaw for interoperability's sake*/ BIT(no_revoke); /* disable SSL certificate revocation checks */ }; struct ssl_general_config { size_t max_ssl_sessions; /* SSL session id cache size */ }; /* information stored about one single SSL session */ |
︙ | ︙ | |||
287 288 289 290 291 292 293 | char *cnonce; char *realm; int algo; char *opaque; char *qop; char *algorithm; int nc; /* nounce count */ | | | | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 | char *cnonce; char *realm; int algo; char *opaque; char *qop; char *algorithm; int nc; /* nounce count */ BIT(stale); /* set true for re-negotiation */ BIT(userhash); #endif }; typedef enum { NTLMSTATE_NONE, NTLMSTATE_TYPE1, NTLMSTATE_TYPE2, |
︙ | ︙ | |||
382 383 384 385 386 387 388 | SEC_WINNT_AUTH_IDENTITY *p_identity; TCHAR *spn; size_t token_max; BYTE *output_token; size_t output_token_length; #endif #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 | SEC_WINNT_AUTH_IDENTITY *p_identity; TCHAR *spn; size_t token_max; BYTE *output_token; size_t output_token_length; #endif #endif BIT(noauthpersist); BIT(havenoauthpersist); BIT(havenegdata); BIT(havemultiplerequests); }; #endif /* * Boolean values that concerns this connection. */ struct ConnectBits { /* always modify bits.close with the connclose() and connkeep() macros! */ bool proxy_ssl_connected[2]; /* TRUE when SSL initialization for HTTPS proxy is complete */ bool tcpconnect[2]; /* the TCP layer (or similar) is connected, this is set the first time on the first connect function call */ BIT(close); /* if set, we close the connection after this request */ BIT(reuse); /* if set, this is a re-used connection */ BIT(altused); /* this is an alt-svc "redirect" */ BIT(conn_to_host); /* if set, this connection has a "connect to host" that overrides the host in the URL */ BIT(conn_to_port); /* if set, this connection has a "connect to port" that overrides the port in the URL (remote port) */ BIT(proxy); /* if set, this transfer is done through a proxy - any type */ BIT(httpproxy); /* if set, this transfer is done through a http proxy */ BIT(socksproxy); /* if set, this transfer is done through a socks proxy */ BIT(user_passwd); /* do we use user+password for this connection? */ BIT(proxy_user_passwd); /* user+password for the proxy? */ BIT(ipv6_ip); /* we communicate with a remote site specified with pure IPv6 IP address */ BIT(ipv6); /* we communicate with a site using an IPv6 address */ BIT(do_more); /* this is set TRUE if the ->curl_do_more() function is supposed to be called, after ->curl_do() */ BIT(protoconnstart);/* the protocol layer has STARTED its operation after the TCP layer connect */ BIT(retry); /* this connection is about to get closed and then re-attempted at another connection. */ BIT(tunnel_proxy); /* if CONNECT is used to "tunnel" through the proxy. This is implicit when SSL-protocols are used through proxies, but can also be enabled explicitly by apps */ BIT(authneg); /* TRUE when the auth phase has started, which means that we are creating a request with an auth header, but it is not the final request in the auth negotiation. */ BIT(rewindaftersend);/* TRUE when the sending couldn't be stopped even though it will be discarded. When the whole send operation is done, we must call the data rewind callback. */ #ifndef CURL_DISABLE_FTP BIT(ftp_use_epsv); /* As set with CURLOPT_FTP_USE_EPSV, but if we find out EPSV doesn't work we disable it for the forthcoming requests */ BIT(ftp_use_eprt); /* As set with CURLOPT_FTP_USE_EPRT, but if we find out EPRT doesn't work we disable it for the forthcoming requests */ BIT(ftp_use_data_ssl); /* Enabled SSL for the data connection */ #endif BIT(netrc); /* name+password provided by netrc */ BIT(userpwd_in_url); /* name+password found in url */ BIT(stream_was_rewound); /* The stream was rewound after a request read past the end of its response byte boundary */ BIT(proxy_connect_closed); /* TRUE if a proxy disconnected the connection in a CONNECT request with auth, so that libcurl should reconnect and continue. */ BIT(bound); /* set true if bind() has already been done on this socket/ connection */ BIT(type_set); /* type= was used in the URL */ BIT(multiplex); /* connection is multiplexed */ BIT(tcp_fastopen); /* use TCP Fast Open */ BIT(tls_enable_npn); /* TLS NPN extension? */ BIT(tls_enable_alpn); /* TLS ALPN extension? */ BIT(socksproxy_connecting); /* connecting through a socks proxy */ BIT(connect_only); }; struct hostname { char *rawalloc; /* allocated "raw" version of the name */ char *encalloc; /* allocated IDN-encoded version of the name */ char *name; /* name to use internally, might be encoded, might be raw */ const char *dispname; /* name to display, as 'name' might be encoded */ |
︙ | ︙ | |||
489 490 491 492 493 494 495 | struct Curl_async { char *hostname; int port; struct Curl_dns_entry *dns; int status; /* if done is TRUE, this is the status from the callback */ void *os_specific; /* 'struct thread_data' for Windows */ | | | 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 | struct Curl_async { char *hostname; int port; struct Curl_dns_entry *dns; int status; /* if done is TRUE, this is the status from the callback */ void *os_specific; /* 'struct thread_data' for Windows */ BIT(done); /* set TRUE when the lookup is complete */ }; #define FIRSTSOCKET 0 #define SECONDARYSOCKET 1 /* These function pointer types are here only to allow easier typecasting within the source when we need to cast between data pointers (such as NULL) |
︙ | ︙ | |||
610 611 612 613 614 615 616 | position */ char *upload_fromhere; void *protop; /* Allocated protocol-specific data. Each protocol handler makes sure this points to data it needs. */ #ifndef CURL_DISABLE_DOH struct dohdata doh; /* DoH specific data for this request */ #endif | | | | | | | | | | | | | | | | 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 | position */ char *upload_fromhere; void *protop; /* Allocated protocol-specific data. Each protocol handler makes sure this points to data it needs. */ #ifndef CURL_DISABLE_DOH struct dohdata doh; /* DoH specific data for this request */ #endif BIT(header); /* incoming data has HTTP header */ BIT(content_range); /* set TRUE if Content-Range: was found */ BIT(upload_done); /* set to TRUE when doing chunked transfer-encoding upload and we're uploading the last chunk */ BIT(ignorebody); /* we read a response-body but we ignore it! */ BIT(http_bodyless); /* HTTP response status code is between 100 and 199, 204 or 304 */ BIT(chunk); /* if set, this is a chunked transfer-encoding */ BIT(upload_chunky); /* set TRUE if we are doing chunked transfer-encoding on upload */ BIT(getheader); /* TRUE if header parsing is wanted */ BIT(forbidchunk); /* used only to explicitly forbid chunk-upload for specific upload buffers. See readmoredata() in http.c for details. */ }; /* * Specific protocol handler. */ struct Curl_handler { |
︙ | ︙ | |||
772 773 774 775 776 777 778 | char *ptr; /* where to store more data */ curl_off_t cl; /* size of content to read and ignore */ enum { TUNNEL_INIT, /* init/default/no tunnel state */ TUNNEL_CONNECT, /* CONNECT has been sent off */ TUNNEL_COMPLETE /* CONNECT response received completely */ } tunnel_state; | | | | 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 | char *ptr; /* where to store more data */ curl_off_t cl; /* size of content to read and ignore */ enum { TUNNEL_INIT, /* init/default/no tunnel state */ TUNNEL_CONNECT, /* CONNECT has been sent off */ TUNNEL_COMPLETE /* CONNECT response received completely */ } tunnel_state; BIT(chunked_encoding); BIT(close_connection); }; struct ldapconninfo; /* * The connectdata struct contains all fields and variables that should be * unique for an entire connection. |
︙ | ︙ | |||
948 949 950 951 952 953 954 | char *host; char *cookiehost; char *rtsp_transport; char *te; /* TE: request header */ } allocptr; #ifdef HAVE_GSSAPI | | | 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 | char *host; char *cookiehost; char *rtsp_transport; char *te; /* TE: request header */ } allocptr; #ifdef HAVE_GSSAPI BIT(sec_complete); /* if Kerberos is enabled for this connection */ enum protection_level command_prot; enum protection_level data_prot; enum protection_level request_data_prot; size_t buffer_size; struct krb5buffer in_buffer; void *app_data; const struct Curl_sec_client_mech *mech; |
︙ | ︙ | |||
1041 1042 1043 1044 1045 1046 1047 | int localportrange; struct http_connect_state *connect_state; /* for HTTP CONNECT */ struct connectbundle *bundle; /* The bundle we are member of */ int negnpn; /* APLN or NPN TLS negotiated protocol, CURL_HTTP_VERSION* */ #ifdef USE_UNIX_SOCKETS char *unix_domain_socket; | | | | | | | | 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 | int localportrange; struct http_connect_state *connect_state; /* for HTTP CONNECT */ struct connectbundle *bundle; /* The bundle we are member of */ int negnpn; /* APLN or NPN TLS negotiated protocol, CURL_HTTP_VERSION* */ #ifdef USE_UNIX_SOCKETS char *unix_domain_socket; BIT(abstract_unix_socket); #endif BIT(tls_upgraded); /* the two following *_inuse fields are only flags, not counters in any way. If TRUE it means the channel is in use, and if FALSE it means the channel is up for grabs by one. */ BIT(readchannel_inuse); /* whether the read channel is in use by an easy handle */ BIT(writechannel_inuse); /* whether the write channel is in use by an easy handle */ }; /* The end of connectdata. */ /* * Struct to keep statistical and informational data. * All variables in this struct must be initialized/reset in Curl_initinfo(). |
︙ | ︙ | |||
1092 1093 1094 1095 1096 1097 1098 | long conn_local_port; const char *conn_scheme; unsigned int conn_protocol; struct curl_certinfo certs; /* info about the certs, only populated in OpenSSL, GnuTLS, Schannel, NSS and GSKit builds. Asked for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */ | | | | 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 | long conn_local_port; const char *conn_scheme; unsigned int conn_protocol; struct curl_certinfo certs; /* info about the certs, only populated in OpenSSL, GnuTLS, Schannel, NSS and GSKit builds. Asked for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */ BIT(timecond); /* set to TRUE if the time condition didn't match, which thus made the document NOT get fetched */ }; struct Progress { time_t lastshow; /* time() of the last displayed progress meter or NULL to force redraw at next call */ curl_off_t size_dl; /* total expected size */ |
︙ | ︙ | |||
1140 1141 1142 1143 1144 1145 1146 | curl_off_t dl_limit_size; #define CURR_TIME (5 + 1) /* 6 entries for 5 seconds */ curl_off_t speeder[ CURR_TIME ]; struct curltime speeder_time[ CURR_TIME ]; int speeder_c; | | | | 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 | curl_off_t dl_limit_size; #define CURR_TIME (5 + 1) /* 6 entries for 5 seconds */ curl_off_t speeder[ CURR_TIME ]; struct curltime speeder_time[ CURR_TIME ]; int speeder_c; BIT(callback); /* set when progress callback is used */ BIT(is_t_startransfer_set); }; typedef enum { HTTPREQ_NONE, /* first in list */ HTTPREQ_GET, HTTPREQ_POST, HTTPREQ_POST_FORM, /* we make a difference internally */ |
︙ | ︙ | |||
1189 1190 1191 1192 1193 1194 1195 | struct auth { unsigned long want; /* Bitmask set to the authentication methods wanted by app (with CURLOPT_HTTPAUTH or CURLOPT_PROXYAUTH). */ unsigned long picked; unsigned long avail; /* Bitmask for what the server reports to support for this resource */ | | | | | | | | 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 | struct auth { unsigned long want; /* Bitmask set to the authentication methods wanted by app (with CURLOPT_HTTPAUTH or CURLOPT_PROXYAUTH). */ unsigned long picked; unsigned long avail; /* Bitmask for what the server reports to support for this resource */ BIT(done); /* TRUE when the auth phase is done and ready to do the actual request */ BIT(multipass); /* TRUE if this is not yet authenticated but within the auth multipass negotiation */ BIT(iestyle); /* TRUE if digest should be done IE-style or FALSE if it should be RFC compliant */ }; struct Curl_http2_dep { struct Curl_http2_dep *next; struct Curl_easy *data; }; |
︙ | ︙ | |||
1324 1325 1326 1327 1328 1329 1330 | involved in this request */ #if !defined(WIN32) && !defined(MSDOS) && !defined(__EMX__) && \ !defined(__SYMBIAN32__) /* do FTP line-end conversions on most platforms */ #define CURL_DO_LINEEND_CONV /* for FTP downloads: track CRLF sequences that span blocks */ | | | 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 | involved in this request */ #if !defined(WIN32) && !defined(MSDOS) && !defined(__EMX__) && \ !defined(__SYMBIAN32__) /* do FTP line-end conversions on most platforms */ #define CURL_DO_LINEEND_CONV /* for FTP downloads: track CRLF sequences that span blocks */ BIT(prev_block_had_trailing_cr); /* for FTP downloads: how many CRLFs did we converted to LFs? */ curl_off_t crlf_conversions; #endif char *range; /* range, if used. See README for detailed specification on this syntax. */ curl_off_t resume_from; /* continue [ftp] transfer from here */ |
︙ | ︙ | |||
1359 1360 1361 1362 1363 1364 1365 | size_t trailers_bytes_sent; Curl_send_buffer *trailers_buf; /* a buffer containing the compiled trailing headers */ #endif trailers_state trailers_state; /* whether we are sending trailers and what stage are we at */ #ifdef CURLDEBUG | | | | | | | | | | | | | | | | > | | | | 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 | size_t trailers_bytes_sent; Curl_send_buffer *trailers_buf; /* a buffer containing the compiled trailing headers */ #endif trailers_state trailers_state; /* whether we are sending trailers and what stage are we at */ #ifdef CURLDEBUG BIT(conncache_lock); #endif /* when curl_easy_perform() is called, the multi handle is "owned" by the easy handle so curl_easy_cleanup() on such an easy handle will also close the multi handle! */ BIT(multi_owned_by_easy); BIT(this_is_a_follow); /* this is a followed Location: request */ BIT(refused_stream); /* this was refused, try again */ BIT(errorbuf); /* Set to TRUE if the error buffer is already filled in. This must be set to FALSE every time _easy_perform() is called. */ BIT(allow_port); /* Is set.use_port allowed to take effect or not. This is always set TRUE when curl_easy_perform() is called. */ BIT(authproblem); /* TRUE if there's some problem authenticating */ /* set after initial USER failure, to prevent an authentication loop */ BIT(ftp_trying_alternative); BIT(wildcardmatch); /* enable wildcard matching */ BIT(expect100header); /* TRUE if we added Expect: 100-continue */ BIT(use_range); BIT(rangestringalloc); /* the range string is malloc()'ed */ BIT(done); /* set to FALSE when Curl_init_do() is called and set to TRUE when multi_done() is called, to prevent multi_done() to get invoked twice when the multi interface is used. */ BIT(stream_depends_e); /* set or don't set the Exclusive bit */ BIT(previouslypending); /* this transfer WAS in the multi->pending queue */ BIT(cookie_engine); }; /* * This 'DynamicStatic' struct defines dynamic states that actually change * values in the 'UserDefined' area, which MUST be taken into consideration * if the UserDefined struct is cloned or similar. You can probably just * copy these, but each one indicate a special action on other data. */ struct DynamicStatic { char *url; /* work URL, copied from UserDefined */ char *referer; /* referer string */ struct curl_slist *cookielist; /* list of cookie files set by curl_easy_setopt(COOKIEFILE) calls */ struct curl_slist *resolve; /* set to point to the set.resolve list when this should be dealt with in pretransfer */ BIT(url_alloc); /* URL string is malloc()'ed */ BIT(referer_alloc); /* referer string is malloc()ed */ BIT(wildcard_resolve); /* Set to true if any resolve change is a wildcard */ }; /* * This 'UserDefined' struct must only contain data that is set once to go * for many (perhaps) independent connections. Values that are generated or * calculated internally for the "session handle" MUST be defined within the |
︙ | ︙ | |||
1684 1685 1686 1687 1688 1689 1690 | void *resolver_start_client; /* pointer to pass to resolver start callback */ long upkeep_interval_ms; /* Time between calls for connection upkeep. */ multidone_func fmultidone; struct Curl_easy *dohfor; /* this is a DoH request for that transfer */ CURLU *uh; /* URL handle for the current parsed URL */ void *trailer_data; /* pointer to pass to trailer data callback */ curl_trailer_callback trailer_callback; /* trailing data callback */ | | | | | | | | | | | | | | | | | | | | | | | | | < | | | | | | | | | | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 | void *resolver_start_client; /* pointer to pass to resolver start callback */ long upkeep_interval_ms; /* Time between calls for connection upkeep. */ multidone_func fmultidone; struct Curl_easy *dohfor; /* this is a DoH request for that transfer */ CURLU *uh; /* URL handle for the current parsed URL */ void *trailer_data; /* pointer to pass to trailer data callback */ curl_trailer_callback trailer_callback; /* trailing data callback */ BIT(is_fread_set); /* has read callback been set to non-NULL? */ BIT(is_fwrite_set); /* has write callback been set to non-NULL? */ BIT(free_referer); /* set TRUE if 'referer' points to a string we allocated */ BIT(tftp_no_options); /* do not send TFTP options requests */ BIT(sep_headers); /* handle host and proxy headers separately */ BIT(cookiesession); /* new cookie session? */ BIT(crlf); /* convert crlf on ftp upload(?) */ BIT(strip_path_slash); /* strip off initial slash from path */ BIT(ssh_compression); /* enable SSH compression */ /* Here follows boolean settings that define how to behave during this session. They are STATIC, set by libcurl users or at least initially and they don't change during operations. */ BIT(get_filetime); /* get the time and get of the remote file */ BIT(tunnel_thru_httpproxy); /* use CONNECT through a HTTP proxy */ BIT(prefer_ascii); /* ASCII rather than binary */ BIT(ftp_append); /* append, not overwrite, on upload */ BIT(ftp_list_only); /* switch FTP command for listing directories */ #ifndef CURL_DISABLE_FTP BIT(ftp_use_port); /* use the FTP PORT command */ BIT(ftp_use_epsv); /* if EPSV is to be attempted or not */ BIT(ftp_use_eprt); /* if EPRT is to be attempted or not */ BIT(ftp_use_pret); /* if PRET is to be used before PASV or not */ BIT(ftp_skip_ip); /* skip the IP address the FTP server passes on to us */ #endif BIT(hide_progress); /* don't use the progress meter */ BIT(http_fail_on_error); /* fail on HTTP error codes >= 400 */ BIT(http_keep_sending_on_error); /* for HTTP status codes >= 300 */ BIT(http_follow_location); /* follow HTTP redirects */ BIT(http_transfer_encoding); /* request compressed HTTP transfer-encoding */ BIT(allow_auth_to_other_hosts); BIT(include_header); /* include received protocol headers in data output */ BIT(http_set_referer); /* is a custom referer used */ BIT(http_auto_referer); /* set "correct" referer when following location: */ BIT(opt_no_body); /* as set with CURLOPT_NOBODY */ BIT(upload); /* upload request */ BIT(verbose); /* output verbosity */ BIT(krb); /* Kerberos connection requested */ BIT(reuse_forbid); /* forbidden to be reused, close after use */ BIT(reuse_fresh); /* do not re-use an existing connection */ BIT(no_signal); /* do not use any signal/alarm handler */ BIT(tcp_nodelay); /* whether to enable TCP_NODELAY or not */ BIT(ignorecl); /* ignore content length */ BIT(connect_only); /* make connection, let application use the socket */ BIT(http_te_skip); /* pass the raw body data to the user, even when transfer-encoded (chunked, compressed) */ BIT(http_ce_skip); /* pass the raw body data to the user, even when content-encoded (chunked, compressed) */ BIT(proxy_transfer_mode); /* set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy */ #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) BIT(socks5_gssapi_nec); /* Flag to support NEC SOCKS5 server */ #endif BIT(sasl_ir); /* Enable/disable SASL initial response */ BIT(wildcard_enabled); /* enable wildcard matching */ BIT(tcp_keepalive); /* use TCP keepalives */ BIT(tcp_fastopen); /* use TCP Fast Open */ BIT(ssl_enable_npn); /* TLS NPN extension? */ BIT(ssl_enable_alpn);/* TLS ALPN extension? */ BIT(path_as_is); /* allow dotdots? */ BIT(pipewait); /* wait for multiplex status before starting a new connection */ BIT(suppress_connect_headers); /* suppress proxy CONNECT response headers from user callbacks */ BIT(dns_shuffle_addresses); /* whether to shuffle addresses before use */ BIT(stream_depends_e); /* set or don't set the Exclusive bit */ BIT(haproxyprotocol); /* whether to send HAProxy PROXY protocol v1 header */ BIT(abstract_unix_socket); BIT(disallow_username_in_url); /* disallow username in url */ BIT(doh); /* DNS-over-HTTPS enabled */ BIT(doh_get); /* use GET for DoH requests, instead of POST */ BIT(http09_allowed); /* allow HTTP/0.9 responses */ }; struct Names { struct curl_hash *hostcache; enum { HCACHE_NONE, /* not pointing to anything */ HCACHE_MULTI, /* points to a shared one in the multi handle */ |
︙ | ︙ |
Changes to jni/curl/lib/vauth/vauth.h.
︙ | ︙ | |||
39 40 41 42 43 44 45 | #endif #if (defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)) && defined(USE_SPNEGO) struct negotiatedata; #endif #if defined(USE_WINDOWS_SSPI) | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #endif #if (defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)) && defined(USE_SPNEGO) struct negotiatedata; #endif #if defined(USE_WINDOWS_SSPI) #define GSS_ERROR(status) ((status) & 0x80000000) #endif /* This is used to build a SPN string */ #if !defined(USE_WINDOWS_SSPI) char *Curl_auth_build_spn(const char *service, const char *host, const char *realm); #else |
︙ | ︙ |
Changes to jni/curl/lib/version.c.
︙ | ︙ | |||
100 101 102 103 104 105 106 | return version; strcpy(ptr, LIBCURL_NAME "/" LIBCURL_VERSION); len = strlen(ptr); left -= len; ptr += len; | < | | | | | < | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | return version; strcpy(ptr, LIBCURL_NAME "/" LIBCURL_VERSION); len = strlen(ptr); left -= len; ptr += len; len = Curl_ssl_version(ptr + 1, left - 1); if(len > 0) { *ptr = ' '; left -= ++len; ptr += len; } #ifdef HAVE_LIBZ len = msnprintf(ptr, left, " zlib/%s", zlibVersion()); left -= len; ptr += len; #endif |
︙ | ︙ | |||
365 366 367 368 369 370 371 372 373 374 375 376 377 378 | #endif #if defined(HAVE_BROTLI) | CURL_VERSION_BROTLI #endif #if defined(USE_ALTSVC) | CURL_VERSION_ALTSVC #endif , NULL, /* ssl_version */ 0, /* ssl_version_num, this is kept at zero */ NULL, /* zlib_version */ protocols, NULL, /* c-ares version */ 0, /* c-ares version numerical */ | > > > | 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 | #endif #if defined(HAVE_BROTLI) | CURL_VERSION_BROTLI #endif #if defined(USE_ALTSVC) | CURL_VERSION_ALTSVC #endif #ifdef USE_ESNI | CURL_VERSION_ESNI #endif , NULL, /* ssl_version */ 0, /* ssl_version_num, this is kept at zero */ NULL, /* zlib_version */ protocols, NULL, /* c-ares version */ 0, /* c-ares version numerical */ |
︙ | ︙ |
Changes to jni/curl/lib/vquic/ngtcp2.c.
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* #define DEBUG_NGTCP2 */ #define DEBUG_HTTP3 #ifdef DEBUG_HTTP3 #define H3BUGF(x) x #else #define H3BUGF(x) do { } WHILE_FALSE #endif /* | > > | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* #define DEBUG_NGTCP2 */ #ifdef CURLDEBUG #define DEBUG_HTTP3 #endif #ifdef DEBUG_HTTP3 #define H3BUGF(x) x #else #define H3BUGF(x) do { } WHILE_FALSE #endif /* |
︙ | ︙ | |||
134 135 136 137 138 139 140 | ngtcp2_settings_default(s); #ifdef DEBUG_NGTCP2 s->log_printf = quic_printf; #else s->log_printf = NULL; #endif s->initial_ts = timestamp(); | | | | | | | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | ngtcp2_settings_default(s); #ifdef DEBUG_NGTCP2 s->log_printf = quic_printf; #else s->log_printf = NULL; #endif s->initial_ts = timestamp(); s->transport_params.initial_max_stream_data_bidi_local = stream_buffer_size; s->transport_params.initial_max_stream_data_bidi_remote = QUIC_MAX_STREAMS; s->transport_params.initial_max_stream_data_uni = QUIC_MAX_STREAMS; s->transport_params.initial_max_data = QUIC_MAX_DATA; s->transport_params.initial_max_streams_bidi = 1; s->transport_params.initial_max_streams_uni = 3; s->transport_params.idle_timeout = QUIC_IDLE_TIMEOUT; } static FILE *keylog_file; /* not thread-safe */ static void keylog_callback(const SSL *ssl, const char *line) { (void)ssl; fputs(line, keylog_file); |
︙ | ︙ | |||
200 201 202 203 204 205 206 | memcpy(&crypto_data->buf[crypto_data->len], data, len); crypto_data->len += len; rv = ngtcp2_conn_submit_crypto_data( qs->qconn, level, (uint8_t *)(&crypto_data->buf[crypto_data->len] - len), len); if(rv) { | | | 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | memcpy(&crypto_data->buf[crypto_data->len], data, len); crypto_data->len += len; rv = ngtcp2_conn_submit_crypto_data( qs->qconn, level, (uint8_t *)(&crypto_data->buf[crypto_data->len] - len), len); if(rv) { H3BUGF(fprintf(stderr, "write_client_handshake failed\n")); } assert(0 == rv); return 1; } static int quic_flush_flight(SSL *ssl) |
︙ | ︙ | |||
544 545 546 547 548 549 550 | qs->conn = conn; /* extract the used address as a string */ if(!Curl_addr2string((struct sockaddr*)addr, addrlen, ipbuf, &port)) { char buffer[STRERROR_LEN]; failf(data, "ssrem inet_ntop() failed with errno %d: %s", | | | 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 | qs->conn = conn; /* extract the used address as a string */ if(!Curl_addr2string((struct sockaddr*)addr, addrlen, ipbuf, &port)) { char buffer[STRERROR_LEN]; failf(data, "ssrem inet_ntop() failed with errno %d: %s", SOCKERRNO, Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); return CURLE_BAD_FUNCTION_ARGUMENT; } infof(data, "Connect socket %d over QUIC to %s:%ld\n", sockfd, ipbuf, port); qs->version = NGTCP2_PROTO_VER; |
︙ | ︙ | |||
593 594 595 596 597 598 599 | rc = ngtcp2_conn_client_new(&qs->qconn, &qs->dcid, &qs->scid, &path, QUICVER, &ng_callbacks, &qs->settings, NULL, qs); if(rc) return CURLE_FAILED_INIT; /* TODO: create a QUIC error code */ ngtcp2_conn_get_local_transport_params(qs->qconn, ¶ms); nwrite = ngtcp2_encode_transport_params( | | | | | < | 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 | rc = ngtcp2_conn_client_new(&qs->qconn, &qs->dcid, &qs->scid, &path, QUICVER, &ng_callbacks, &qs->settings, NULL, qs); if(rc) return CURLE_FAILED_INIT; /* TODO: create a QUIC error code */ ngtcp2_conn_get_local_transport_params(qs->qconn, ¶ms); nwrite = ngtcp2_encode_transport_params( paramsbuf, sizeof(paramsbuf), NGTCP2_TRANSPORT_PARAMS_TYPE_CLIENT_HELLO, ¶ms); if(nwrite < 0) { failf(data, "ngtcp2_encode_transport_params: %s\n", ngtcp2_strerror((int)nwrite)); return CURLE_FAILED_INIT; } if(!SSL_set_quic_transport_params(qs->ssl, paramsbuf, nwrite)) return CURLE_FAILED_INIT; rc = setup_initial_crypto_context(qs); |
︙ | ︙ | |||
695 696 697 698 699 700 701 | { struct Curl_easy *data = stream_user_data; struct HTTP *stream = data->req.protop; (void)conn; (void)stream_id; (void)app_error_code; (void)user_data; | | | | 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 | { struct Curl_easy *data = stream_user_data; struct HTTP *stream = data->req.protop; (void)conn; (void)stream_id; (void)app_error_code; (void)user_data; H3BUGF(infof(data, "cb_h3_stream_close CALLED\n")); stream->closed = TRUE; Curl_expire(data, 0, EXPIRE_QUIC); return 0; } static int cb_h3_recv_data(nghttp3_conn *conn, int64_t stream_id, const uint8_t *buf, size_t buflen, void *user_data, void *stream_user_data) { struct quicsocket *qs = user_data; size_t ncopy; struct Curl_easy *data = stream_user_data; struct HTTP *stream = data->req.protop; (void)conn; H3BUGF(infof(data, "cb_h3_recv_data CALLED with %d bytes\n", buflen)); /* TODO: this needs to be handled properly */ DEBUGASSERT(buflen <= stream->len); ncopy = CURLMIN(stream->len, buflen); memcpy(stream->mem, buf, ncopy); stream->len -= ncopy; |
︙ | ︙ | |||
745 746 747 748 749 750 751 | static int cb_h3_deferred_consume(nghttp3_conn *conn, int64_t stream_id, size_t consumed, void *user_data, void *stream_user_data) { struct quicsocket *qs = user_data; (void)conn; (void)stream_user_data; | < | 746 747 748 749 750 751 752 753 754 755 756 757 758 759 | static int cb_h3_deferred_consume(nghttp3_conn *conn, int64_t stream_id, size_t consumed, void *user_data, void *stream_user_data) { struct quicsocket *qs = user_data; (void)conn; (void)stream_user_data; ngtcp2_conn_extend_max_stream_offset(qs->qconn, stream_id, consumed); ngtcp2_conn_extend_max_offset(qs->qconn, consumed); return 0; } |
︙ | ︙ | |||
814 815 816 817 818 819 820 | size_t ncopy; (void)conn; (void)stream_id; (void)token; (void)flags; (void)user_data; | < < | 814 815 816 817 818 819 820 821 822 823 824 825 826 827 | size_t ncopy; (void)conn; (void)stream_id; (void)token; (void)flags; (void)user_data; if(h3name.len == sizeof(":status") - 1 && !memcmp(":status", h3name.base, h3name.len)) { int status = decode_status_code(h3val.base, h3val.len); DEBUGASSERT(status != -1); msnprintf(stream->mem, stream->len, "HTTP/3 %03d \r\n", status); } else { |
︙ | ︙ | |||
845 846 847 848 849 850 851 | void *stream_user_data) { (void)conn; (void)stream_id; (void)app_error_code; (void)user_data; (void)stream_user_data; | < | 843 844 845 846 847 848 849 850 851 852 853 854 855 856 | void *stream_user_data) { (void)conn; (void)stream_id; (void)app_error_code; (void)user_data; (void)stream_user_data; return 0; } static nghttp3_conn_callbacks ngh3_callbacks = { cb_h3_acked_stream_data, /* acked_stream_data */ cb_h3_stream_close, cb_h3_recv_data, |
︙ | ︙ | |||
943 944 945 946 947 948 949 | size_t buffersize, CURLcode *curlcode) { curl_socket_t sockfd = conn->sock[sockindex]; struct HTTP *stream = conn->data->req.protop; struct quicsocket *qs = conn->quic; | < < < | 940 941 942 943 944 945 946 947 948 949 950 951 952 953 | size_t buffersize, CURLcode *curlcode) { curl_socket_t sockfd = conn->sock[sockindex]; struct HTTP *stream = conn->data->req.protop; struct quicsocket *qs = conn->quic; if(!stream->memlen) { /* remember where to store incoming data for this stream and how big the buffer is */ stream->mem = buf; stream->len = buffersize; } /* else, there's data in the buffer already */ |
︙ | ︙ | |||
999 1000 1001 1002 1003 1004 1005 | struct HTTP *stream = data->req.protop; (void)conn; (void)stream_id; (void)user_data; if(!data->set.postfields) { stream->h3out->used -= datalen; | > | | | | | | > | | | | | | | | < < > < | | 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 | struct HTTP *stream = data->req.protop; (void)conn; (void)stream_id; (void)user_data; if(!data->set.postfields) { stream->h3out->used -= datalen; H3BUGF(infof(data, "cb_h3_acked_stream_data, %zd bytes, %zd left unacked\n", datalen, stream->h3out->used)); DEBUGASSERT(stream->h3out->used < H3_SEND_SIZE); } return 0; } static ssize_t cb_h3_readfunction(nghttp3_conn *conn, int64_t stream_id, nghttp3_vec *vec, size_t veccnt, uint32_t *pflags, void *user_data, void *stream_user_data) { struct Curl_easy *data = stream_user_data; size_t nread; struct HTTP *stream = data->req.protop; (void)conn; (void)stream_id; (void)user_data; (void)veccnt; if(data->set.postfields) { vec[0].base = data->set.postfields; vec[0].len = data->state.infilesize; *pflags = NGHTTP3_DATA_FLAG_EOF; return 1; } nread = CURLMIN(stream->upload_len, H3_SEND_SIZE - stream->h3out->used); if(nread > 0) { /* nghttp3 wants us to hold on to the data until it tells us it is okay to delete it. Append the data at the end of the h3out buffer. Since we can only return consecutive data, copy the amount that fits and the next part comes in next invoke. */ struct h3out *out = stream->h3out; if(nread + out->windex > H3_SEND_SIZE) nread = H3_SEND_SIZE - out->windex; memcpy(&out->buf[out->windex], stream->upload_mem, nread); out->windex += nread; out->used += nread; /* that's the chunk we return to nghttp3 */ vec[0].base = &out->buf[out->windex]; vec[0].len = nread; if(out->windex == H3_SEND_SIZE) out->windex = 0; /* wrap */ stream->upload_mem += nread; stream->upload_len -= nread; if(data->state.infilesize != -1) { stream->upload_left -= nread; if(!stream->upload_left) *pflags = NGHTTP3_DATA_FLAG_EOF; } H3BUGF(infof(data, "cb_h3_readfunction %zd bytes%s (at %zd unacked)\n", nread, *pflags == NGHTTP3_DATA_FLAG_EOF?" EOF":"", out->used)); } if(stream->upload_done && !stream->upload_len && (stream->upload_left <= 0)) { H3BUGF(infof(data, "!!!!!!!!! cb_h3_readfunction sets EOF\n")); *pflags = NGHTTP3_DATA_FLAG_EOF; return 0; } else if(!nread) { return NGHTTP3_ERR_WOULDBLOCK; } return 1; } /* Index where :authority header field will appear in request header field list. */ #define AUTHORITY_DST_IDX 3 static CURLcode http_request(struct connectdata *conn, const void *mem, |
︙ | ︙ | |||
1198 1199 1200 1201 1202 1203 1204 | if(hlen == 4 && strncasecompare("host", hdbuf, 4)) { authority_idx = i; nva[i].name = (unsigned char *)":authority"; nva[i].namelen = strlen((char *)nva[i].name); } else { | < > > > | 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 | if(hlen == 4 && strncasecompare("host", hdbuf, 4)) { authority_idx = i; nva[i].name = (unsigned char *)":authority"; nva[i].namelen = strlen((char *)nva[i].name); } else { nva[i].namelen = (size_t)(end - hdbuf); /* Lower case the header name for HTTP/3 */ Curl_strntolower((char *)hdbuf, hdbuf, nva[i].namelen); nva[i].name = (unsigned char *)hdbuf; } nva[i].flags = NGHTTP3_NV_FLAG_NONE; hdbuf = end + 1; while(*hdbuf == ' ' || *hdbuf == '\t') ++hdbuf; end = line_end; |
︙ | ︙ | |||
1328 1329 1330 1331 1332 1333 1334 | if(result) { *curlcode = CURLE_SEND_ERROR; return -1; } sent = len; } else { | | > | 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 | if(result) { *curlcode = CURLE_SEND_ERROR; return -1; } sent = len; } else { H3BUGF(infof(conn->data, "ngh3_stream_send() wants to send %zd bytes\n", len)); if(!stream->upload_len) { stream->upload_mem = mem; stream->upload_len = len; (void)nghttp3_conn_resume_stream(qs->h3conn, stream->stream3_id); sent = len; } else { |
︙ | ︙ | |||
1403 1404 1405 1406 1407 1408 1409 | struct sockaddr_storage remote_addr; socklen_t remote_addrlen; ngtcp2_path path; ngtcp2_tstamp ts = timestamp(); for(;;) { remote_addrlen = sizeof(remote_addr); | | | | | 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 | struct sockaddr_storage remote_addr; socklen_t remote_addrlen; ngtcp2_path path; ngtcp2_tstamp ts = timestamp(); for(;;) { remote_addrlen = sizeof(remote_addr); while((recvd = recvfrom(sockfd, buf, bufsize, 0, (struct sockaddr *)&remote_addr, &remote_addrlen)) == -1 && SOCKERRNO == EINTR) ; if(recvd == -1) { if(SOCKERRNO == EAGAIN || SOCKERRNO == EWOULDBLOCK) break; failf(conn->data, "ngtcp2: recvfrom() unexpectedly returned %d", recvd); return CURLE_RECV_ERROR; } ngtcp2_addr_init(&path.local, (uint8_t *)&qs->local_addr, |
︙ | ︙ | |||
1520 1521 1522 1523 1524 1525 1526 | } else { failf(conn->data, "ngtcp2_conn_writev_stream returned error: %s\n", ngtcp2_strerror((int)outlen)); return CURLE_SEND_ERROR; } } | | | 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 | } else { failf(conn->data, "ngtcp2_conn_writev_stream returned error: %s\n", ngtcp2_strerror((int)outlen)); return CURLE_SEND_ERROR; } } else if(ndatalen >= 0) { rv = nghttp3_conn_add_write_offset(qs->h3conn, stream_id, ndatalen); if(rv != 0) { failf(conn->data, "nghttp3_conn_add_write_offset returned error: %s\n", nghttp3_strerror(rv)); return CURLE_SEND_ERROR; } |
︙ | ︙ | |||
1543 1544 1545 1546 1547 1548 1549 | return CURLE_SEND_ERROR; } if(outlen == 0) break; } memcpy(&remote_addr, ps.path.remote.addr, ps.path.remote.addrlen); | | < < | | | | 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 | return CURLE_SEND_ERROR; } if(outlen == 0) break; } memcpy(&remote_addr, ps.path.remote.addr, ps.path.remote.addrlen); while((sent = send(sockfd, out, outlen, 0)) == -1 && SOCKERRNO == EINTR) ; if(sent == -1) { if(SOCKERRNO == EAGAIN || SOCKERRNO == EWOULDBLOCK) { /* TODO Cache packet */ break; } else { failf(conn->data, "send() returned %zd (errno %d)\n", sent, SOCKERRNO); return CURLE_SEND_ERROR; } } } expiry = ngtcp2_conn_get_expiry(qs->qconn); |
︙ | ︙ | |||
1585 1586 1587 1588 1589 1590 1591 | */ CURLcode Curl_quic_done_sending(struct connectdata *conn) { if(conn->handler == &Curl_handler_http3) { /* only for HTTP/3 transfers */ struct HTTP *stream = conn->data->req.protop; struct quicsocket *qs = conn->quic; | < < | 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 | */ CURLcode Curl_quic_done_sending(struct connectdata *conn) { if(conn->handler == &Curl_handler_http3) { /* only for HTTP/3 transfers */ struct HTTP *stream = conn->data->req.protop; struct quicsocket *qs = conn->quic; stream->upload_done = TRUE; (void)nghttp3_conn_resume_stream(qs->h3conn, stream->stream3_id); } return CURLE_OK; } #endif |
Changes to jni/curl/lib/vquic/quiche.c.
︙ | ︙ | |||
46 47 48 49 50 51 52 | #define H3BUGF(x) x #else #define H3BUGF(x) do { } WHILE_FALSE #endif #define QUIC_MAX_STREAMS (256*1024) #define QUIC_MAX_DATA (1*1024*1024) | | | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #define H3BUGF(x) x #else #define H3BUGF(x) do { } WHILE_FALSE #endif #define QUIC_MAX_STREAMS (256*1024) #define QUIC_MAX_DATA (1*1024*1024) #define QUIC_IDLE_TIMEOUT (60 * 1000) /* milliseconds */ static CURLcode process_ingress(struct connectdata *conn, curl_socket_t sockfd, struct quicsocket *qs); static CURLcode flush_egress(struct connectdata *conn, curl_socket_t sockfd, struct quicsocket *qs); |
︙ | ︙ | |||
199 200 201 202 203 204 205 | return CURLE_OUT_OF_MEMORY; } result = flush_egress(conn, sockfd, qs); if(result) return result; | < | | > | | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | return CURLE_OUT_OF_MEMORY; } result = flush_egress(conn, sockfd, qs); if(result) return result; /* store the used address as a string */ if(!Curl_addr2string((struct sockaddr*)addr, addrlen, conn->primary_ip, &conn->primary_port)) { char buffer[STRERROR_LEN]; failf(data, "ssrem inet_ntop() failed with errno %d: %s", SOCKERRNO, Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); return CURLE_BAD_FUNCTION_ARGUMENT; } memcpy(conn->ip_addr_str, conn->primary_ip, MAX_IPADR_LEN); Curl_persistconninfo(conn); /* for connection reuse purposes: */ conn->ssl[FIRSTSOCKET].state = ssl_connection_complete; infof(data, "Sent QUIC client Initial, ALPN: %s\n", QUICHE_H3_APPLICATION_PROTOCOL + 1); return CURLE_OK; |
︙ | ︙ | |||
233 234 235 236 237 238 239 | conn->recv[sockindex] = h3_stream_recv; conn->send[sockindex] = h3_stream_send; conn->handler = &Curl_handler_http3; conn->bits.multiplex = TRUE; /* at least potentially multiplexed */ conn->httpversion = 30; conn->bundle->multiuse = BUNDLE_MULTIPLEX; | | | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | conn->recv[sockindex] = h3_stream_recv; conn->send[sockindex] = h3_stream_send; conn->handler = &Curl_handler_http3; conn->bits.multiplex = TRUE; /* at least potentially multiplexed */ conn->httpversion = 30; conn->bundle->multiuse = BUNDLE_MULTIPLEX; qs->h3config = quiche_h3_config_new(); if(!qs->h3config) return CURLE_OUT_OF_MEMORY; /* Create a new HTTP/3 connection on the QUIC connection. */ qs->h3c = quiche_h3_conn_new_with_transport(qs->conn, qs->h3config); if(!qs->h3c) { result = CURLE_OUT_OF_MEMORY; |
︙ | ︙ | |||
297 298 299 300 301 302 303 | size_t bufsize = data->set.buffer_size; /* in case the timeout expired */ quiche_conn_on_timeout(qs->conn); do { recvd = recv(sockfd, buf, bufsize, 0); | | | 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 | size_t bufsize = data->set.buffer_size; /* in case the timeout expired */ quiche_conn_on_timeout(qs->conn); do { recvd = recv(sockfd, buf, bufsize, 0); if((recvd < 0) && ((SOCKERRNO == EAGAIN) || (SOCKERRNO == EWOULDBLOCK))) break; if(recvd < 0) { failf(conn->data, "quiche: recv() unexpectedly returned %d " "(errno: %d, socket %d)", recvd, SOCKERRNO, sockfd); return CURLE_RECV_ERROR; } |
︙ | ︙ | |||
400 401 402 403 404 405 406 | ssize_t recvd = -1; ssize_t rcode; struct quicsocket *qs = conn->quic; curl_socket_t sockfd = conn->sock[sockindex]; quiche_h3_event *ev; int rc; struct h3h1header headers; | > | | | | 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 | ssize_t recvd = -1; ssize_t rcode; struct quicsocket *qs = conn->quic; curl_socket_t sockfd = conn->sock[sockindex]; quiche_h3_event *ev; int rc; struct h3h1header headers; struct Curl_easy *data = conn->data; struct HTTP *stream = data->req.protop; headers.dest = buf; headers.destlen = buffersize; headers.nlen = 0; if(process_ingress(conn, sockfd, qs)) { infof(data, "h3_stream_recv returns on ingress\n"); *curlcode = CURLE_RECV_ERROR; return -1; } while(recvd < 0) { int64_t s = quiche_h3_conn_poll(qs->h3c, qs->conn, &ev); if(s < 0) /* nothing more to do */ break; if(s != stream->stream3_id) { /* another transfer, ignore for now */ infof(data, "Got h3 for stream %u, expects %u\n", s, stream->stream3_id); continue; } switch(quiche_h3_event_type(ev)) { case QUICHE_H3_EVENT_HEADERS: rc = quiche_h3_event_for_each_header(ev, cb_each_header, &headers); |
︙ | ︙ | |||
454 455 456 457 458 459 460 | recvd = -1; break; } recvd += rcode; break; case QUICHE_H3_EVENT_FINISHED: | | < < | > > | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 | recvd = -1; break; } recvd += rcode; break; case QUICHE_H3_EVENT_FINISHED: streamclose(conn, "End of stream"); recvd = 0; /* end of stream */ break; default: break; } quiche_h3_event_free(ev); } if(flush_egress(conn, sockfd, qs)) { *curlcode = CURLE_SEND_ERROR; return -1; } *curlcode = (-1 == recvd)? CURLE_AGAIN : CURLE_OK; if(recvd >= 0) /* Get this called again to drain the event queue */ Curl_expire(data, 0, EXPIRE_QUIC); data->state.drain = (recvd >= 0) ? 1 : 0; return recvd; } static ssize_t h3_stream_send(struct connectdata *conn, int sockindex, const void *mem, size_t len, |
︙ | ︙ | |||
642 643 644 645 646 647 648 | if(hlen == 4 && strncasecompare("host", hdbuf, 4)) { authority_idx = i; nva[i].name = (unsigned char *)":authority"; nva[i].name_len = strlen((char *)nva[i].name); } else { | < > > > | 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 | if(hlen == 4 && strncasecompare("host", hdbuf, 4)) { authority_idx = i; nva[i].name = (unsigned char *)":authority"; nva[i].name_len = strlen((char *)nva[i].name); } else { nva[i].name_len = (size_t)(end - hdbuf); /* Lower case the header name for HTTP/3 */ Curl_strntolower((char *)hdbuf, hdbuf, nva[i].name_len); nva[i].name = (unsigned char *)hdbuf; } hdbuf = end + 1; while(*hdbuf == ' ' || *hdbuf == '\t') ++hdbuf; end = line_end; #if 0 /* This should probably go in more or less like this */ |
︙ | ︙ |
Changes to jni/curl/lib/vssh/libssh.c.
︙ | ︙ | |||
489 490 491 492 493 494 495 | if(rc == SSH_AUTH_AGAIN) return SSH_AGAIN; if(rc != SSH_AUTH_INFO) return SSH_ERROR; nprompts = ssh_userauth_kbdint_getnprompts(sshc->ssh_session); | | | 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 | if(rc == SSH_AUTH_AGAIN) return SSH_AGAIN; if(rc != SSH_AUTH_INFO) return SSH_ERROR; nprompts = ssh_userauth_kbdint_getnprompts(sshc->ssh_session); if(nprompts != 1) return SSH_ERROR; rc = ssh_userauth_kbdint_setanswer(sshc->ssh_session, 0, conn->passwd); if(rc < 0) return SSH_ERROR; /* FALLTHROUGH */ |
︙ | ︙ | |||
1352 1353 1354 1355 1356 1357 1358 | state(conn, SSH_SFTP_READDIR_LINK); break; } state(conn, SSH_SFTP_READDIR_BOTTOM); break; } } | | | 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 | state(conn, SSH_SFTP_READDIR_LINK); break; } state(conn, SSH_SFTP_READDIR_BOTTOM); break; } } else if(sftp_dir_eof(sshc->sftp_dir)) { state(conn, SSH_SFTP_READDIR_DONE); break; } else { failf(data, "Could not open remote file for reading: %s", ssh_get_error(sshc->ssh_session)); MOVE_TO_SFTP_CLOSE_STATE(); |
︙ | ︙ | |||
1995 1996 1997 1998 1999 2000 2001 | left = Curl_timeleft(data, NULL, FALSE); if(left < 0) { failf(data, "Operation timed out"); return CURLE_OPERATION_TIMEDOUT; } } | | | 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 | left = Curl_timeleft(data, NULL, FALSE); if(left < 0) { failf(data, "Operation timed out"); return CURLE_OPERATION_TIMEDOUT; } } if(block) { curl_socket_t fd_read = conn->sock[FIRSTSOCKET]; /* wait for the socket to become ready */ (void) Curl_socket_check(fd_read, CURL_SOCKET_BAD, CURL_SOCKET_BAD, left > 1000 ? 1000 : left); } } |
︙ | ︙ |
Changes to jni/curl/lib/vssh/libssh2.c.
︙ | ︙ | |||
2807 2808 2809 2810 2811 2812 2813 | if(left < 0) { failf(data, "Operation timed out"); return CURLE_OPERATION_TIMEDOUT; } } #ifdef HAVE_LIBSSH2_SESSION_BLOCK_DIRECTION | | | | 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 | if(left < 0) { failf(data, "Operation timed out"); return CURLE_OPERATION_TIMEDOUT; } } #ifdef HAVE_LIBSSH2_SESSION_BLOCK_DIRECTION if(block) { int dir = libssh2_session_block_directions(sshc->ssh_session); curl_socket_t sock = conn->sock[FIRSTSOCKET]; curl_socket_t fd_read = CURL_SOCKET_BAD; curl_socket_t fd_write = CURL_SOCKET_BAD; if(LIBSSH2_SESSION_BLOCK_INBOUND & dir) fd_read = sock; if(LIBSSH2_SESSION_BLOCK_OUTBOUND & dir) fd_write = sock; /* wait for the socket to become ready */ (void)Curl_socket_check(fd_read, CURL_SOCKET_BAD, fd_write, left>1000?1000:(time_t)left); } #endif } return result; } |
︙ | ︙ |
Changes to jni/curl/lib/vtls/gskit.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #ifdef USE_GSKIT #include <gskssl.h> #include <qsoasync.h> #undef HAVE_SOCKETPAIR /* because the native one isn't good enough */ #include "socketpair.h" /* Some symbols are undefined/unsupported on OS400 versions < V7R1. */ #ifndef GSK_SSL_EXTN_SERVERNAME_REQUEST #define GSK_SSL_EXTN_SERVERNAME_REQUEST 230 #endif #ifndef GSK_TLSV10_CIPHER_SPECS |
︙ | ︙ | |||
507 508 509 510 511 512 513 | static void close_async_handshake(struct ssl_connect_data *connssl) { QsoDestroyIOCompletionPort(BACKEND->iocport); BACKEND->iocport = -1; } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 509 510 511 512 513 514 515 516 517 518 519 520 521 522 | static void close_async_handshake(struct ssl_connect_data *connssl) { QsoDestroyIOCompletionPort(BACKEND->iocport); BACKEND->iocport = -1; } static int pipe_ssloverssl(struct connectdata *conn, int sockindex, int directions) { struct ssl_connect_data *connssl = &conn->ssl[sockindex]; struct ssl_connect_data *connproxyssl = &conn->proxy_ssl[sockindex]; fd_set fds_read; fd_set fds_write; |
︙ | ︙ | |||
851 852 853 854 855 856 857 | "gsk_secure_soc_open()", CURLE_SSL_CONNECT_ERROR); gsk_environment_close(&envir); if(result) return result; /* Establish a pipelining socket pair for SSL over SSL. */ if(conn->proxy_ssl[sockindex].use) { | | | 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 | "gsk_secure_soc_open()", CURLE_SSL_CONNECT_ERROR); gsk_environment_close(&envir); if(result) return result; /* Establish a pipelining socket pair for SSL over SSL. */ if(conn->proxy_ssl[sockindex].use) { if(Curl_socketpair(0, 0, 0, sockpair)) return CURLE_SSL_CONNECT_ERROR; BACKEND->localfd = sockpair[0]; BACKEND->remotefd = sockpair[1]; setsockopt(BACKEND->localfd, SOL_SOCKET, SO_RCVBUF, (void *) sobufsize, sizeof(sobufsize)); setsockopt(BACKEND->remotefd, SOL_SOCKET, SO_RCVBUF, (void *) sobufsize, sizeof(sobufsize)); |
︙ | ︙ | |||
1153 1154 1155 1156 1157 1158 1159 | static CURLcode gskit_connect_common(struct connectdata *conn, int sockindex, bool nonblocking, bool *done) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; | | | 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 | static CURLcode gskit_connect_common(struct connectdata *conn, int sockindex, bool nonblocking, bool *done) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; timediff_t timeout_ms; CURLcode result = CURLE_OK; *done = connssl->state == ssl_connection_complete; if(*done) return CURLE_OK; /* Step 1: create session, start handshake. */ |
︙ | ︙ |
Changes to jni/curl/lib/vtls/gtls.c.
︙ | ︙ | |||
284 285 286 287 288 289 290 | { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; gnutls_session_t session = BACKEND->session; curl_socket_t sockfd = conn->sock[sockindex]; for(;;) { | | | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; gnutls_session_t session = BACKEND->session; curl_socket_t sockfd = conn->sock[sockindex]; for(;;) { timediff_t timeout_ms; int rc; /* check allowed time left */ timeout_ms = Curl_timeleft(data, NULL, duringconnect); if(timeout_ms < 0) { /* no need to continue if time already is up */ |
︙ | ︙ | |||
307 308 309 310 311 312 313 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, nonblocking?0: | | | 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, nonblocking?0: timeout_ms?(time_t)timeout_ms:1000); if(what < 0) { /* fatal error */ failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO); return CURLE_SSL_CONNECT_ERROR; } else if(0 == what) { if(nonblocking) |
︙ | ︙ | |||
1604 1605 1606 1607 1608 1609 1610 | return rc; } static void close_one(struct ssl_connect_data *connssl) { if(BACKEND->session) { | | | 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 | return rc; } static void close_one(struct ssl_connect_data *connssl) { if(BACKEND->session) { gnutls_bye(BACKEND->session, GNUTLS_SHUT_WR); gnutls_deinit(BACKEND->session); BACKEND->session = NULL; } if(BACKEND->cred) { gnutls_certificate_free_credentials(BACKEND->cred); BACKEND->cred = NULL; } |
︙ | ︙ |
Changes to jni/curl/lib/vtls/mbedtls.c.
︙ | ︙ | |||
584 585 586 587 588 589 590 591 592 593 594 595 596 597 | else if(ret & MBEDTLS_X509_BADCERT_CN_MISMATCH) failf(data, "Cert verify failed: BADCERT_CN_MISMATCH"); else if(ret & MBEDTLS_X509_BADCERT_NOT_TRUSTED) failf(data, "Cert verify failed: BADCERT_NOT_TRUSTED"); return CURLE_PEER_FAILED_VERIFICATION; } peercert = mbedtls_ssl_get_peer_cert(&BACKEND->ssl); if(peercert && data->set.verbose) { const size_t bufsize = 16384; | > > > | 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 | else if(ret & MBEDTLS_X509_BADCERT_CN_MISMATCH) failf(data, "Cert verify failed: BADCERT_CN_MISMATCH"); else if(ret & MBEDTLS_X509_BADCERT_NOT_TRUSTED) failf(data, "Cert verify failed: BADCERT_NOT_TRUSTED"); else if(ret & MBEDTLS_X509_BADCERT_FUTURE) failf(data, "Cert verify failed: BADCERT_FUTURE"); return CURLE_PEER_FAILED_VERIFICATION; } peercert = mbedtls_ssl_get_peer_cert(&BACKEND->ssl); if(peercert && data->set.verbose) { const size_t bufsize = 16384; |
︙ | ︙ | |||
880 881 882 883 884 885 886 | bool nonblocking, bool *done) { CURLcode retcode; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; | | | 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 | bool nonblocking, bool *done) { CURLcode retcode; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; timediff_t timeout_ms; int what; /* check if the connection has already been established */ if(ssl_connection_complete == connssl->state) { *done = TRUE; return CURLE_OK; } |
︙ | ︙ | |||
926 927 928 929 930 931 932 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, | | | 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, nonblocking ? 0 : (time_t)timeout_ms); if(what < 0) { /* fatal error */ failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO); return CURLE_SSL_CONNECT_ERROR; } else if(0 == what) { if(nonblocking) { |
︙ | ︙ |
Changes to jni/curl/lib/vtls/mesalink.c.
1 2 3 4 5 6 7 8 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2017 - 2018, Yiming Jing, <jingyiming@baidu.com> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2017 - 2018, Yiming Jing, <jingyiming@baidu.com> * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
490 491 492 493 494 495 496 | mesalink_connect_common(struct connectdata *conn, int sockindex, bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; | | | 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | mesalink_connect_common(struct connectdata *conn, int sockindex, bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; timediff_t timeout_ms; int what; /* check if the connection has already been established */ if(ssl_connection_complete == connssl->state) { *done = TRUE; return CURLE_OK; } |
︙ | ︙ | |||
539 540 541 542 543 544 545 | ssl_connect_2_writing == connssl->connecting_state ? sockfd : CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state ? sockfd : CURL_SOCKET_BAD; what = Curl_socket_check( | | > | 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 | ssl_connect_2_writing == connssl->connecting_state ? sockfd : CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state ? sockfd : CURL_SOCKET_BAD; what = Curl_socket_check( readfd, CURL_SOCKET_BAD, writefd, nonblocking ? 0 : (time_t)timeout_ms); if(what < 0) { /* fatal error */ failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO); return CURLE_SSL_CONNECT_ERROR; } else if(0 == what) { if(nonblocking) { |
︙ | ︙ |
Changes to jni/curl/lib/vtls/nss.c.
︙ | ︙ | |||
2123 2124 2125 2126 2127 2128 2129 | &data->set.proxy_ssl.certverifyresult : &data->set.ssl.certverifyresult; const char * const pinnedpubkey = SSL_IS_PROXY() ? data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY] : data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG]; /* check timeout situation */ | | | 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 | &data->set.proxy_ssl.certverifyresult : &data->set.ssl.certverifyresult; const char * const pinnedpubkey = SSL_IS_PROXY() ? data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY] : data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG]; /* check timeout situation */ const timediff_t time_left = Curl_timeleft(data, NULL, TRUE); if(time_left < 0) { failf(data, "timed out before SSL handshake"); result = CURLE_OPERATION_TIMEDOUT; goto error; } /* Force the handshake now */ |
︙ | ︙ |
Changes to jni/curl/lib/vtls/openssl.c.
︙ | ︙ | |||
40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #include "connect.h" #include "slist.h" #include "select.h" #include "vtls.h" #include "strcase.h" #include "hostcheck.h" #include "multiif.h" #include "curl_printf.h" #include <openssl/ssl.h> #include <openssl/rand.h> #include <openssl/x509v3.h> #ifndef OPENSSL_NO_DSA #include <openssl/dsa.h> #endif | > | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include "connect.h" #include "slist.h" #include "select.h" #include "vtls.h" #include "strcase.h" #include "hostcheck.h" #include "multiif.h" #include "strerror.h" #include "curl_printf.h" #include <openssl/ssl.h> #include <openssl/rand.h> #include <openssl/x509v3.h> #ifndef OPENSSL_NO_DSA #include <openssl/dsa.h> #endif |
︙ | ︙ | |||
2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 | set_ssl_version_min_max(SSL_CTX *ctx, struct connectdata *conn) { /* first, TLS min version... */ long curl_ssl_version_min = SSL_CONN_CONFIG(version); long curl_ssl_version_max; /* convert cURL min SSL version option to OpenSSL constant */ long ossl_ssl_version_min = 0; long ossl_ssl_version_max = 0; switch(curl_ssl_version_min) { case CURL_SSLVERSION_TLSv1: /* TLS 1.x */ case CURL_SSLVERSION_TLSv1_0: ossl_ssl_version_min = TLS1_VERSION; break; case CURL_SSLVERSION_TLSv1_1: ossl_ssl_version_min = TLS1_1_VERSION; break; case CURL_SSLVERSION_TLSv1_2: ossl_ssl_version_min = TLS1_2_VERSION; break; #ifdef TLS1_3_VERSION case CURL_SSLVERSION_TLSv1_3: ossl_ssl_version_min = TLS1_3_VERSION; break; #endif } /* CURL_SSLVERSION_DEFAULT means that no option was selected. | > > > > > | | | | | 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 | set_ssl_version_min_max(SSL_CTX *ctx, struct connectdata *conn) { /* first, TLS min version... */ long curl_ssl_version_min = SSL_CONN_CONFIG(version); long curl_ssl_version_max; /* convert cURL min SSL version option to OpenSSL constant */ #if defined(OPENSSL_IS_BORINGSSL) || defined(LIBRESSL_VERSION_NUMBER) uint16_t ossl_ssl_version_min = 0; uint16_t ossl_ssl_version_max = 0; #else long ossl_ssl_version_min = 0; long ossl_ssl_version_max = 0; #endif switch(curl_ssl_version_min) { case CURL_SSLVERSION_TLSv1: /* TLS 1.x */ case CURL_SSLVERSION_TLSv1_0: ossl_ssl_version_min = TLS1_VERSION; break; case CURL_SSLVERSION_TLSv1_1: ossl_ssl_version_min = TLS1_1_VERSION; break; case CURL_SSLVERSION_TLSv1_2: ossl_ssl_version_min = TLS1_2_VERSION; break; #ifdef TLS1_3_VERSION case CURL_SSLVERSION_TLSv1_3: ossl_ssl_version_min = TLS1_3_VERSION; break; #endif } /* CURL_SSLVERSION_DEFAULT means that no option was selected. We don't want to pass 0 to SSL_CTX_set_min_proto_version as it would enable all versions down to the lowest supported by the library. So we skip this, and stay with the OS default */ if(curl_ssl_version_min != CURL_SSLVERSION_DEFAULT) { if(!SSL_CTX_set_min_proto_version(ctx, ossl_ssl_version_min)) { return CURLE_SSL_CONNECT_ERROR; } } |
︙ | ︙ | |||
3645 3646 3647 3648 3649 3650 3651 | bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; | | | 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 | bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; timediff_t timeout_ms; int what; /* check if the connection has already been established */ if(ssl_connection_complete == connssl->state) { *done = TRUE; return CURLE_OK; } |
︙ | ︙ | |||
3692 3693 3694 3695 3696 3697 3698 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, | | | 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, nonblocking?0:(time_t)timeout_ms); if(what < 0) { /* fatal error */ failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO); return CURLE_SSL_CONNECT_ERROR; } if(0 == what) { if(nonblocking) { |
︙ | ︙ | |||
3816 3817 3818 3819 3820 3821 3822 | case SSL_ERROR_WANT_WRITE: /* The operation did not complete; the same TLS/SSL I/O function should be called again later. This is basically an EWOULDBLOCK equivalent. */ *curlcode = CURLE_AGAIN; return -1; case SSL_ERROR_SYSCALL: | > | < | 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 | case SSL_ERROR_WANT_WRITE: /* The operation did not complete; the same TLS/SSL I/O function should be called again later. This is basically an EWOULDBLOCK equivalent. */ *curlcode = CURLE_AGAIN; return -1; case SSL_ERROR_SYSCALL: Curl_strerror(SOCKERRNO, error_buffer, sizeof(error_buffer)); failf(conn->data, OSSL_PACKAGE " SSL_write: %s", error_buffer); *curlcode = CURLE_SEND_ERROR; return -1; case SSL_ERROR_SSL: /* A failure in the SSL library occurred, usually a protocol error. The OpenSSL error queue contains more information on the error. */ sslerror = ERR_get_error(); if(ERR_GET_LIB(sslerror) == ERR_LIB_SSL && |
︙ | ︙ | |||
3874 3875 3876 3877 3878 3879 3880 | int err = SSL_get_error(BACKEND->handle, (int)nread); switch(err) { case SSL_ERROR_NONE: /* this is not an error */ break; case SSL_ERROR_ZERO_RETURN: /* no more data */ /* close_notify alert */ | > > > | > > > > > | 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 | int err = SSL_get_error(BACKEND->handle, (int)nread); switch(err) { case SSL_ERROR_NONE: /* this is not an error */ break; case SSL_ERROR_ZERO_RETURN: /* no more data */ /* close_notify alert */ if(num == FIRSTSOCKET) /* mark the connection for close if it is indeed the control connection */ connclose(conn, "TLS close_notify"); break; case SSL_ERROR_WANT_READ: case SSL_ERROR_WANT_WRITE: /* there's data pending, re-invoke SSL_read() */ *curlcode = CURLE_AGAIN; return -1; case SSL_ERROR_SYSCALL: Curl_strerror(SOCKERRNO, error_buffer, sizeof(error_buffer)); failf(conn->data, OSSL_PACKAGE " SSL_read: %s", error_buffer); *curlcode = CURLE_RECV_ERROR; return -1; default: /* openssl/ssl.h for SSL_ERROR_SYSCALL says "look at error stack/return value/errno" */ /* https://www.openssl.org/docs/crypto/ERR_get_error.html */ sslerror = ERR_get_error(); if((nread < 0) || sslerror) { /* If the return code was negative or there actually is an error in the |
︙ | ︙ |
Changes to jni/curl/lib/vtls/polarssl.c.
︙ | ︙ | |||
730 731 732 733 734 735 736 | bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; | | | 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 | bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; timediff_t timeout_ms; int what; /* check if the connection has already been established */ if(ssl_connection_complete == connssl->state) { *done = TRUE; return CURLE_OK; } |
︙ | ︙ | |||
777 778 779 780 781 782 783 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, | | | 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, nonblocking?0:(time_t)timeout_ms); if(what < 0) { /* fatal error */ failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO); return CURLE_SSL_CONNECT_ERROR; } else if(0 == what) { if(nonblocking) { |
︙ | ︙ |
Changes to jni/curl/lib/vtls/schannel.c.
︙ | ︙ | |||
1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 | } struct Adder_args { struct connectdata *conn; CURLcode result; int idx; }; static bool add_cert_to_certinfo(const CERT_CONTEXT *ccert_context, void *raw_arg) { struct Adder_args *args = (struct Adder_args*)raw_arg; args->result = CURLE_OK; if(valid_cert_encoding(ccert_context)) { const char *beg = (const char *) ccert_context->pbCertEncoded; const char *end = beg + ccert_context->cbCertEncoded; | > > | > | 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 | } struct Adder_args { struct connectdata *conn; CURLcode result; int idx; int certs_count; }; static bool add_cert_to_certinfo(const CERT_CONTEXT *ccert_context, void *raw_arg) { struct Adder_args *args = (struct Adder_args*)raw_arg; args->result = CURLE_OK; if(valid_cert_encoding(ccert_context)) { const char *beg = (const char *) ccert_context->pbCertEncoded; const char *end = beg + ccert_context->cbCertEncoded; int insert_index = (args->certs_count - 1) - args->idx; args->result = Curl_extract_certinfo(args->conn, insert_index, beg, end); args->idx++; } return args->result == CURLE_OK; } static CURLcode schannel_connect_step3(struct connectdata *conn, int sockindex) { |
︙ | ︙ | |||
1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 | traverse_cert_store(ccert_context, cert_counter_callback, &certs_count); result = Curl_ssl_init_certinfo(data, certs_count); if(!result) { struct Adder_args args; args.conn = conn; args.idx = 0; traverse_cert_store(ccert_context, add_cert_to_certinfo, &args); result = args.result; } CertFreeCertificateContext(ccert_context); if(result) return result; } | > | 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 | traverse_cert_store(ccert_context, cert_counter_callback, &certs_count); result = Curl_ssl_init_certinfo(data, certs_count); if(!result) { struct Adder_args args; args.conn = conn; args.idx = 0; args.certs_count = certs_count; traverse_cert_store(ccert_context, add_cert_to_certinfo, &args); result = args.result; } CertFreeCertificateContext(ccert_context); if(result) return result; } |
︙ | ︙ | |||
1343 1344 1345 1346 1347 1348 1349 | schannel_connect_common(struct connectdata *conn, int sockindex, bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; | | | 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 | schannel_connect_common(struct connectdata *conn, int sockindex, bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; timediff_t timeout_ms; int what; /* check if the connection has already been established */ if(ssl_connection_complete == connssl->state) { *done = TRUE; return CURLE_OK; } |
︙ | ︙ | |||
1390 1391 1392 1393 1394 1395 1396 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state ? sockfd : CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state ? sockfd : CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, | | | 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state ? sockfd : CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state ? sockfd : CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, nonblocking ? 0 : (time_t)timeout_ms); if(what < 0) { /* fatal error */ failf(data, "select/poll on SSL/TLS socket, errno: %d", SOCKERRNO); return CURLE_SSL_CONNECT_ERROR; } else if(0 == what) { if(nonblocking) { |
︙ | ︙ | |||
1540 1541 1542 1543 1544 1545 1546 | send the buffered data? Looking at who calls this function, it seems the answer is NO. */ /* send entire message or fail */ while(len > (size_t)written) { ssize_t this_write; | | | 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 | send the buffered data? Looking at who calls this function, it seems the answer is NO. */ /* send entire message or fail */ while(len > (size_t)written) { ssize_t this_write; timediff_t timeleft; int what; this_write = 0; timeleft = Curl_timeleft(conn->data, NULL, FALSE); if(timeleft < 0) { /* we already got the timeout */ |
︙ | ︙ |
Changes to jni/curl/lib/vtls/schannel_verify.c.
︙ | ︙ | |||
107 108 109 110 111 112 113 | /* * Read the CA file completely into memory before parsing it. This * optimizes for the common case where the CA file will be relatively * small ( < 1 MiB ). */ ca_file_handle = CreateFile(ca_file_tstr, GENERIC_READ, | < > | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | /* * Read the CA file completely into memory before parsing it. This * optimizes for the common case where the CA file will be relatively * small ( < 1 MiB ). */ ca_file_handle = CreateFile(ca_file_tstr, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(ca_file_handle == INVALID_HANDLE_VALUE) { char buffer[STRERROR_LEN]; failf(data, |
︙ | ︙ |
Changes to jni/curl/lib/vtls/sectransp.c.
︙ | ︙ | |||
75 76 77 78 79 80 81 | #define CURL_BUILD_MAC_10_8 MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 #define CURL_BUILD_MAC_10_9 MAC_OS_X_VERSION_MAX_ALLOWED >= 1090 #define CURL_BUILD_MAC_10_11 MAC_OS_X_VERSION_MAX_ALLOWED >= 101100 #define CURL_BUILD_MAC_10_13 MAC_OS_X_VERSION_MAX_ALLOWED >= 101300 /* These macros mean "the following code is present to allow runtime backward compatibility with at least this cat or earlier": (You set this at build-time using the compiler command line option | | | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | #define CURL_BUILD_MAC_10_8 MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 #define CURL_BUILD_MAC_10_9 MAC_OS_X_VERSION_MAX_ALLOWED >= 1090 #define CURL_BUILD_MAC_10_11 MAC_OS_X_VERSION_MAX_ALLOWED >= 101100 #define CURL_BUILD_MAC_10_13 MAC_OS_X_VERSION_MAX_ALLOWED >= 101300 /* These macros mean "the following code is present to allow runtime backward compatibility with at least this cat or earlier": (You set this at build-time using the compiler command line option "-mmacosx-version-min.") */ #define CURL_SUPPORT_MAC_10_5 MAC_OS_X_VERSION_MIN_REQUIRED <= 1050 #define CURL_SUPPORT_MAC_10_6 MAC_OS_X_VERSION_MIN_REQUIRED <= 1060 #define CURL_SUPPORT_MAC_10_7 MAC_OS_X_VERSION_MIN_REQUIRED <= 1070 #define CURL_SUPPORT_MAC_10_8 MAC_OS_X_VERSION_MIN_REQUIRED <= 1080 #define CURL_SUPPORT_MAC_10_9 MAC_OS_X_VERSION_MIN_REQUIRED <= 1090 #elif TARGET_OS_EMBEDDED || TARGET_OS_IPHONE |
︙ | ︙ | |||
2801 2802 2803 2804 2805 2806 2807 | bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; | | | 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 | bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; timediff_t timeout_ms; int what; /* check if the connection has already been established */ if(ssl_connection_complete == connssl->state) { *done = TRUE; return CURLE_OK; } |
︙ | ︙ | |||
2848 2849 2850 2851 2852 2853 2854 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, | | | 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 | curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, nonblocking?0:(time_t)timeout_ms); if(what < 0) { /* fatal error */ failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO); return CURLE_SSL_CONNECT_ERROR; } else if(0 == what) { if(nonblocking) { |
︙ | ︙ |
Changes to jni/curl/lib/vtls/vtls.c.
︙ | ︙ | |||
93 94 95 96 97 98 99 | (data->verifystatus == needle->verifystatus) && Curl_safe_strcasecompare(data->CApath, needle->CApath) && Curl_safe_strcasecompare(data->CAfile, needle->CAfile) && Curl_safe_strcasecompare(data->clientcert, needle->clientcert) && Curl_safe_strcasecompare(data->random_file, needle->random_file) && Curl_safe_strcasecompare(data->egdsocket, needle->egdsocket) && Curl_safe_strcasecompare(data->cipher_list, needle->cipher_list) && | | > | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | (data->verifystatus == needle->verifystatus) && Curl_safe_strcasecompare(data->CApath, needle->CApath) && Curl_safe_strcasecompare(data->CAfile, needle->CAfile) && Curl_safe_strcasecompare(data->clientcert, needle->clientcert) && Curl_safe_strcasecompare(data->random_file, needle->random_file) && Curl_safe_strcasecompare(data->egdsocket, needle->egdsocket) && Curl_safe_strcasecompare(data->cipher_list, needle->cipher_list) && Curl_safe_strcasecompare(data->cipher_list13, needle->cipher_list13) && Curl_safe_strcasecompare(data->pinned_key, needle->pinned_key)) return TRUE; return FALSE; } bool Curl_clone_primary_ssl_config(struct ssl_primary_config *source, |
︙ | ︙ | |||
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | CLONE_STRING(CApath); CLONE_STRING(CAfile); CLONE_STRING(clientcert); CLONE_STRING(random_file); CLONE_STRING(egdsocket); CLONE_STRING(cipher_list); CLONE_STRING(cipher_list13); return TRUE; } void Curl_free_primary_ssl_config(struct ssl_primary_config* sslc) { Curl_safefree(sslc->CApath); Curl_safefree(sslc->CAfile); Curl_safefree(sslc->clientcert); Curl_safefree(sslc->random_file); Curl_safefree(sslc->egdsocket); Curl_safefree(sslc->cipher_list); Curl_safefree(sslc->cipher_list13); } #ifdef USE_SSL static int multissl_init(const struct Curl_ssl *backend); #endif int Curl_ssl_backend(void) | > > | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | CLONE_STRING(CApath); CLONE_STRING(CAfile); CLONE_STRING(clientcert); CLONE_STRING(random_file); CLONE_STRING(egdsocket); CLONE_STRING(cipher_list); CLONE_STRING(cipher_list13); CLONE_STRING(pinned_key); return TRUE; } void Curl_free_primary_ssl_config(struct ssl_primary_config* sslc) { Curl_safefree(sslc->CApath); Curl_safefree(sslc->CAfile); Curl_safefree(sslc->clientcert); Curl_safefree(sslc->random_file); Curl_safefree(sslc->egdsocket); Curl_safefree(sslc->cipher_list); Curl_safefree(sslc->cipher_list13); Curl_safefree(sslc->pinned_key); } #ifdef USE_SSL static int multissl_init(const struct Curl_ssl *backend); #endif int Curl_ssl_backend(void) |
︙ | ︙ |
Changes to jni/curl/ltmain.sh.
︙ | ︙ | |||
27 28 29 30 31 32 33 | # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. PROGRAM=libtool PACKAGE=libtool | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. PROGRAM=libtool PACKAGE=libtool VERSION="2.4.6 Debian-2.4.6-11" package_revision=2.4.6 ## ------ ## ## Usage. ## ## ------ ## |
︙ | ︙ | |||
2137 2138 2139 2140 2141 2142 2143 | include the following information: host-triplet: $host shell: $SHELL compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) | | | 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 | include the following information: host-triplet: $host shell: $SHELL compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) version: $progname $scriptversion Debian-2.4.6-11 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to <bug-libtool@gnu.org>. GNU libtool home page: <http://www.gnu.org/s/libtool/>. General help using GNU software: <http://www.gnu.org/gethelp/>." exit 0 |
︙ | ︙ |
Changes to jni/curl/m4/curl-confopts.m4.
1 2 3 4 5 6 7 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
644 645 646 647 648 649 650 | AC_DEFINE(NTLM_WB_ENABLED, 1, [Define to enable NTLM delegation to winbind's ntlm_auth helper.]) AC_DEFINE_UNQUOTED(NTLM_WB_FILE, "$want_ntlm_wb_file", [Define absolute filename for winbind's ntlm_auth helper.]) NTLM_WB_ENABLED=1 fi ]) | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 | AC_DEFINE(NTLM_WB_ENABLED, 1, [Define to enable NTLM delegation to winbind's ntlm_auth helper.]) AC_DEFINE_UNQUOTED(NTLM_WB_FILE, "$want_ntlm_wb_file", [Define absolute filename for winbind's ntlm_auth helper.]) NTLM_WB_ENABLED=1 fi ]) dnl CURL_CHECK_OPTION_ESNI dnl ----------------------------------------------------- dnl Verify whether configure has been invoked with option dnl --enable-esni or --disable-esni, and set dnl shell variable want_esni as appropriate. AC_DEFUN([CURL_CHECK_OPTION_ESNI], [ AC_MSG_CHECKING([whether to enable ESNI support]) OPT_ESNI="default" AC_ARG_ENABLE(esni, AC_HELP_STRING([--enable-esni],[Enable ESNI support]) AC_HELP_STRING([--disable-esni],[Disable ESNI support]), OPT_ESNI=$enableval) case "$OPT_ESNI" in no) dnl --disable-esni option used want_esni="no" curl_esni_msg="no (--enable-esni)" AC_MSG_RESULT([no]) ;; default) dnl configure option not specified want_esni="no" curl_esni_msg="no (--enable-esni)" AC_MSG_RESULT([no]) ;; *) dnl --enable-esni option used want_esni="yes" curl_esni_msg="enabled (--disable-esni)" experimental="esni" AC_MSG_RESULT([yes]) ;; esac ]) |
Changes to jni/curl/packages/OS400/curl.inc.in.
︙ | ︙ | |||
1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 | d c 10012 d CURLMOPT_MAX_TOTAL_CONNECTIONS... d c 00013 d CURLMOPT_PUSHFUNCTION... d c 20014 d CURLMOPT_PUSHDATA... d c 10015 * * Bitmask bits for CURLMOPT_PIPELING. * d CURLPIPE_NOTHING... d c x'00000000' d CURLPIPE_HTTP1 c x'00000001' d CURLPIPE_MULTIPLEX... | > > | 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 | d c 10012 d CURLMOPT_MAX_TOTAL_CONNECTIONS... d c 00013 d CURLMOPT_PUSHFUNCTION... d c 20014 d CURLMOPT_PUSHDATA... d c 10015 d CURLMOPT_MAX_CONCURRENT_STREAMS... d c 10016 * * Bitmask bits for CURLMOPT_PIPELING. * d CURLPIPE_NOTHING... d c x'00000000' d CURLPIPE_HTTP1 c x'00000001' d CURLPIPE_MULTIPLEX... |
︙ | ︙ |
Changes to jni/curl/packages/OS400/os400sys.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
191 192 193 194 195 196 197 | if(!bufs) { if(size < 0) return (char *) NULL; /* No buffer yet. */ /* Allocate buffer descriptors for the current thread. */ | | | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | if(!bufs) { if(size < 0) return (char *) NULL; /* No buffer yet. */ /* Allocate buffer descriptors for the current thread. */ bufs = calloc((size_t) LK_LAST, sizeof(*bufs)); if(!bufs) return (char *) NULL; if(pthread_setspecific(thdkey, (void *) bufs)) { free(bufs); return (char *) NULL; } |
︙ | ︙ | |||
220 221 222 223 224 225 226 | pthread_mutex_lock(&mutex); /* Determine if we can use pthread-specific data. */ if(Curl_thread_buffer == buffer_undef) { /* If unchanged during lock. */ if(!pthread_key_create(&thdkey, thdbufdestroy)) Curl_thread_buffer = buffer_threaded; | | | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | pthread_mutex_lock(&mutex); /* Determine if we can use pthread-specific data. */ if(Curl_thread_buffer == buffer_undef) { /* If unchanged during lock. */ if(!pthread_key_create(&thdkey, thdbufdestroy)) Curl_thread_buffer = buffer_threaded; else if(!(locbufs = calloc((size_t) LK_LAST, sizeof(*locbufs)))) { pthread_mutex_unlock(&mutex); return (char *) NULL; } else Curl_thread_buffer = buffer_unthreaded; atexit(terminate); |
︙ | ︙ | |||
386 387 388 389 390 391 392 | { struct Curl_gsk_descriptor * p; int rc; if(!my_env_handle) return GSK_OS400_ERROR_INVALID_POINTER; | | | 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 | { struct Curl_gsk_descriptor * p; int rc; if(!my_env_handle) return GSK_OS400_ERROR_INVALID_POINTER; p = (struct Curl_gsk_descriptor *) malloc(sizeof(*p)); if(!p) return GSK_INSUFFICIENT_STORAGE; p->strlist = (struct gskstrlist *) NULL; rc = gsk_environment_open(&p->h); if(rc != GSK_OK) free(p); else |
︙ | ︙ | |||
413 414 415 416 417 418 419 | int rc; if(!my_env_handle) return GSK_INVALID_HANDLE; if(!my_session_handle) return GSK_OS400_ERROR_INVALID_POINTER; h = ((struct Curl_gsk_descriptor *) my_env_handle)->h; | | | 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 | int rc; if(!my_env_handle) return GSK_INVALID_HANDLE; if(!my_session_handle) return GSK_OS400_ERROR_INVALID_POINTER; h = ((struct Curl_gsk_descriptor *) my_env_handle)->h; p = (struct Curl_gsk_descriptor *) malloc(sizeof(*p)); if(!p) return GSK_INSUFFICIENT_STORAGE; p->strlist = (struct gskstrlist *) NULL; rc = gsk_secure_soc_open(h, &p->h); if(rc != GSK_OK) free(p); else |
︙ | ︙ | |||
594 595 596 597 598 599 600 | char * asciibuf; struct gskstrlist * sp; for(sp = p->strlist; sp; sp = sp->next) if(sp->ebcdicstr == ebcdicbuf) break; if(!sp) { | | | 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 | char * asciibuf; struct gskstrlist * sp; for(sp = p->strlist; sp; sp = sp->next) if(sp->ebcdicstr == ebcdicbuf) break; if(!sp) { sp = (struct gskstrlist *) malloc(sizeof(*sp)); if(!sp) return GSK_INSUFFICIENT_STORAGE; asciibuf = malloc(bufsize + 1); if(!asciibuf) { free(sp); return GSK_INSUFFICIENT_STORAGE; } |
︙ | ︙ | |||
796 797 798 799 800 801 802 | int rc; unsigned int i; gss_buffer_desc in; if(!in_name || !in_name->value || !in_name->length) return gss_import_name(minor_status, in_name, in_name_type, out_name); | | | 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 | int rc; unsigned int i; gss_buffer_desc in; if(!in_name || !in_name->value || !in_name->length) return gss_import_name(minor_status, in_name, in_name_type, out_name); memcpy((char *) &in, (char *) in_name, sizeof(in)); i = in.length; in.value = malloc(i + 1); if(!in.value) { if(minor_status) *minor_status = ENOMEM; |
︙ | ︙ | |||
1044 1045 1046 1047 1048 1049 1050 | } } if(attrs && status == LDAP_SUCCESS) { for(i = 0; attrs[i++];) ; | | | 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 | } } if(attrs && status == LDAP_SUCCESS) { for(i = 0; attrs[i++];) ; eattrs = calloc(i, sizeof(*eattrs)); if(!eattrs) status = LDAP_NO_MEMORY; else { for(j = 0; attrs[j]; j++) { i = strlen(attrs[j]); eattrs[j] = malloc(i + 1); |
︙ | ︙ | |||
1223 1224 1225 1226 1227 1228 1229 | return cp; } #endif /* CURL_DISABLE_LDAP */ static int | | | | < | | | | | | > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > < | < | < | | < < < < | | < | < < < < < < < < < | < | < | < < < < | < < | < | < < < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 | return cp; } #endif /* CURL_DISABLE_LDAP */ static int sockaddr2ebcdic(struct sockaddr_storage *dstaddr, const struct sockaddr *srcaddr, int srclen) { const struct sockaddr_un *srcu; struct sockaddr_un *dstu; unsigned int i; unsigned int dstsize; /* Convert a socket address to job CCSID, if needed. */ if(!srcaddr || srclen < offsetof(struct sockaddr, sa_family) + sizeof(srcaddr->sa_family) || srclen > sizeof(*dstaddr)) { errno = EINVAL; return -1; } memcpy((char *) dstaddr, (char *) srcaddr, srclen); switch (srcaddr->sa_family) { case AF_UNIX: srcu = (const struct sockaddr_un *) srcaddr; dstu = (struct sockaddr_un *) dstaddr; dstsize = sizeof(*dstaddr) - offsetof(struct sockaddr_un, sun_path); srclen -= offsetof(struct sockaddr_un, sun_path); i = QadrtConvertA2E(dstu->sun_path, srcu->sun_path, dstsize - 1, srclen); dstu->sun_path[i] = '\0'; srclen = i + offsetof(struct sockaddr_un, sun_path); } return srclen; } static int sockaddr2ascii(struct sockaddr *dstaddr, int dstlen, const struct sockaddr_storage *srcaddr, int srclen) { const struct sockaddr_un *srcu; struct sockaddr_un *dstu; unsigned int dstsize; /* Convert a socket address to ASCII, if needed. */ if(!srclen) return 0; if(srclen > dstlen) srclen = dstlen; if(!srcaddr || srclen < 0) { errno = EINVAL; return -1; } memcpy((char *) dstaddr, (char *) srcaddr, srclen); if(srclen >= offsetof(struct sockaddr_storage, ss_family) + sizeof(srcaddr->ss_family)) { switch (srcaddr->ss_family) { case AF_UNIX: srcu = (const struct sockaddr_un *) srcaddr; dstu = (struct sockaddr_un *) dstaddr; dstsize = dstlen - offsetof(struct sockaddr_un, sun_path); srclen -= offsetof(struct sockaddr_un, sun_path); if(dstsize > 0 && srclen > 0) { srclen = QadrtConvertE2A(dstu->sun_path, srcu->sun_path, dstsize - 1, srclen); dstu->sun_path[srclen] = '\0'; } srclen += offsetof(struct sockaddr_un, sun_path); } } return srclen; } int Curl_os400_connect(int sd, struct sockaddr * destaddr, int addrlen) { int i; struct sockaddr_storage laddr; i = sockaddr2ebcdic(&laddr, destaddr, addrlen); if(i < 0) return -1; return connect(sd, (struct sockaddr *) &laddr, i); } int Curl_os400_bind(int sd, struct sockaddr * localaddr, int addrlen) { int i; struct sockaddr_storage laddr; i = sockaddr2ebcdic(&laddr, localaddr, addrlen); if(i < 0) return -1; return bind(sd, (struct sockaddr *) &laddr, i); } int Curl_os400_sendto(int sd, char * buffer, int buflen, int flags, struct sockaddr * dstaddr, int addrlen) { int i; struct sockaddr_storage laddr; i = sockaddr2ebcdic(&laddr, dstaddr, addrlen); if(i < 0) return -1; return sendto(sd, buffer, buflen, flags, (struct sockaddr *) &laddr, i); } int Curl_os400_recvfrom(int sd, char * buffer, int buflen, int flags, struct sockaddr * fromaddr, int * addrlen) { int rcvlen; struct sockaddr_storage laddr; int laddrlen = sizeof(laddr); if(!fromaddr || !addrlen || *addrlen <= 0) return recvfrom(sd, buffer, buflen, flags, fromaddr, addrlen); laddr.ss_family = AF_UNSPEC; /* To detect if unused. */ rcvlen = recvfrom(sd, buffer, buflen, flags, (struct sockaddr *) &laddr, &laddrlen); if(rcvlen < 0) return rcvlen; if(laddr.ss_family == AF_UNSPEC) laddrlen = 0; else { laddrlen = sockaddr2ascii(fromaddr, *addrlen, &laddr, laddrlen); if(laddrlen < 0) return laddrlen; } *addrlen = laddrlen; return rcvlen; } int Curl_os400_getpeername(int sd, struct sockaddr *addr, int *addrlen) { struct sockaddr_storage laddr; int laddrlen = sizeof(laddr); int retcode = getpeername(sd, (struct sockaddr *) &laddr, &laddrlen); if(!retcode) { laddrlen = sockaddr2ascii(addr, *addrlen, &laddr, laddrlen); if(laddrlen < 0) return laddrlen; *addrlen = laddrlen; } return retcode; } int Curl_os400_getsockname(int sd, struct sockaddr *addr, int *addrlen) { struct sockaddr_storage laddr; int laddrlen = sizeof(laddr); int retcode = getsockname(sd, (struct sockaddr *) &laddr, &laddrlen); if(!retcode) { laddrlen = sockaddr2ascii(addr, *addrlen, &laddr, laddrlen); if(laddrlen < 0) return laddrlen; *addrlen = laddrlen; } return retcode; } #ifdef HAVE_LIBZ const char * Curl_os400_zlibVersion(void) { return set_thread_string(LK_ZLIB_VERSION, zlibVersion()); |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC10/lib/libcurl.vcxproj.
︙ | ︙ | |||
2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 | <ClCompile Include="..\..\..\..\lib\sendf.c" /> <ClCompile Include="..\..\..\..\lib\setopt.c" /> <ClCompile Include="..\..\..\..\lib\sha256.c" /> <ClCompile Include="..\..\..\..\lib\share.c" /> <ClCompile Include="..\..\..\..\lib\slist.c" /> <ClCompile Include="..\..\..\..\lib\smb.c" /> <ClCompile Include="..\..\..\..\lib\smtp.c" /> <ClCompile Include="..\..\..\..\lib\socks.c" /> <ClCompile Include="..\..\..\..\lib\socks_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\socks_sspi.c" /> <ClCompile Include="..\..\..\..\lib\speedcheck.c" /> <ClCompile Include="..\..\..\..\lib\splay.c" /> <ClCompile Include="..\..\..\..\lib\strcase.c" /> <ClCompile Include="..\..\..\..\lib\strdup.c" /> | > | 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 | <ClCompile Include="..\..\..\..\lib\sendf.c" /> <ClCompile Include="..\..\..\..\lib\setopt.c" /> <ClCompile Include="..\..\..\..\lib\sha256.c" /> <ClCompile Include="..\..\..\..\lib\share.c" /> <ClCompile Include="..\..\..\..\lib\slist.c" /> <ClCompile Include="..\..\..\..\lib\smb.c" /> <ClCompile Include="..\..\..\..\lib\smtp.c" /> <ClCompile Include="..\..\..\..\lib\socketpair.c" /> <ClCompile Include="..\..\..\..\lib\socks.c" /> <ClCompile Include="..\..\..\..\lib\socks_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\socks_sspi.c" /> <ClCompile Include="..\..\..\..\lib\speedcheck.c" /> <ClCompile Include="..\..\..\..\lib\splay.c" /> <ClCompile Include="..\..\..\..\lib\strcase.c" /> <ClCompile Include="..\..\..\..\lib\strdup.c" /> |
︙ | ︙ | |||
2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 | <ClInclude Include="..\..\..\..\lib\setup-vms.h" /> <ClInclude Include="..\..\..\..\lib\share.h" /> <ClInclude Include="..\..\..\..\lib\sigpipe.h" /> <ClInclude Include="..\..\..\..\lib\slist.h" /> <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\ssh.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> | > | 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 | <ClInclude Include="..\..\..\..\lib\setup-vms.h" /> <ClInclude Include="..\..\..\..\lib\share.h" /> <ClInclude Include="..\..\..\..\lib\sigpipe.h" /> <ClInclude Include="..\..\..\..\lib\slist.h" /> <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\ssh.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC11/lib/libcurl.vcxproj.
︙ | ︙ | |||
2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 | <ClCompile Include="..\..\..\..\lib\sendf.c" /> <ClCompile Include="..\..\..\..\lib\setopt.c" /> <ClCompile Include="..\..\..\..\lib\sha256.c" /> <ClCompile Include="..\..\..\..\lib\share.c" /> <ClCompile Include="..\..\..\..\lib\slist.c" /> <ClCompile Include="..\..\..\..\lib\smb.c" /> <ClCompile Include="..\..\..\..\lib\smtp.c" /> <ClCompile Include="..\..\..\..\lib\socks.c" /> <ClCompile Include="..\..\..\..\lib\socks_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\socks_sspi.c" /> <ClCompile Include="..\..\..\..\lib\speedcheck.c" /> <ClCompile Include="..\..\..\..\lib\splay.c" /> <ClCompile Include="..\..\..\..\lib\strcase.c" /> <ClCompile Include="..\..\..\..\lib\strdup.c" /> | > | 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 | <ClCompile Include="..\..\..\..\lib\sendf.c" /> <ClCompile Include="..\..\..\..\lib\setopt.c" /> <ClCompile Include="..\..\..\..\lib\sha256.c" /> <ClCompile Include="..\..\..\..\lib\share.c" /> <ClCompile Include="..\..\..\..\lib\slist.c" /> <ClCompile Include="..\..\..\..\lib\smb.c" /> <ClCompile Include="..\..\..\..\lib\smtp.c" /> <ClCompile Include="..\..\..\..\lib\socketpair.c" /> <ClCompile Include="..\..\..\..\lib\socks.c" /> <ClCompile Include="..\..\..\..\lib\socks_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\socks_sspi.c" /> <ClCompile Include="..\..\..\..\lib\speedcheck.c" /> <ClCompile Include="..\..\..\..\lib\splay.c" /> <ClCompile Include="..\..\..\..\lib\strcase.c" /> <ClCompile Include="..\..\..\..\lib\strdup.c" /> |
︙ | ︙ | |||
2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 | <ClInclude Include="..\..\..\..\lib\setup-vms.h" /> <ClInclude Include="..\..\..\..\lib\share.h" /> <ClInclude Include="..\..\..\..\lib\sigpipe.h" /> <ClInclude Include="..\..\..\..\lib\slist.h" /> <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\ssh.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> | > | 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 | <ClInclude Include="..\..\..\..\lib\setup-vms.h" /> <ClInclude Include="..\..\..\..\lib\share.h" /> <ClInclude Include="..\..\..\..\lib\sigpipe.h" /> <ClInclude Include="..\..\..\..\lib\slist.h" /> <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\ssh.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC12/lib/libcurl.vcxproj.
︙ | ︙ | |||
2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 | <ClCompile Include="..\..\..\..\lib\sendf.c" /> <ClCompile Include="..\..\..\..\lib\setopt.c" /> <ClCompile Include="..\..\..\..\lib\sha256.c" /> <ClCompile Include="..\..\..\..\lib\share.c" /> <ClCompile Include="..\..\..\..\lib\slist.c" /> <ClCompile Include="..\..\..\..\lib\smb.c" /> <ClCompile Include="..\..\..\..\lib\smtp.c" /> <ClCompile Include="..\..\..\..\lib\socks.c" /> <ClCompile Include="..\..\..\..\lib\socks_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\socks_sspi.c" /> <ClCompile Include="..\..\..\..\lib\speedcheck.c" /> <ClCompile Include="..\..\..\..\lib\splay.c" /> <ClCompile Include="..\..\..\..\lib\strcase.c" /> <ClCompile Include="..\..\..\..\lib\strdup.c" /> | > | 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 | <ClCompile Include="..\..\..\..\lib\sendf.c" /> <ClCompile Include="..\..\..\..\lib\setopt.c" /> <ClCompile Include="..\..\..\..\lib\sha256.c" /> <ClCompile Include="..\..\..\..\lib\share.c" /> <ClCompile Include="..\..\..\..\lib\slist.c" /> <ClCompile Include="..\..\..\..\lib\smb.c" /> <ClCompile Include="..\..\..\..\lib\smtp.c" /> <ClCompile Include="..\..\..\..\lib\socketpair.c" /> <ClCompile Include="..\..\..\..\lib\socks.c" /> <ClCompile Include="..\..\..\..\lib\socks_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\socks_sspi.c" /> <ClCompile Include="..\..\..\..\lib\speedcheck.c" /> <ClCompile Include="..\..\..\..\lib\splay.c" /> <ClCompile Include="..\..\..\..\lib\strcase.c" /> <ClCompile Include="..\..\..\..\lib\strdup.c" /> |
︙ | ︙ | |||
2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 | <ClInclude Include="..\..\..\..\lib\setup-vms.h" /> <ClInclude Include="..\..\..\..\lib\share.h" /> <ClInclude Include="..\..\..\..\lib\sigpipe.h" /> <ClInclude Include="..\..\..\..\lib\slist.h" /> <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\ssh.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> | > | 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 | <ClInclude Include="..\..\..\..\lib\setup-vms.h" /> <ClInclude Include="..\..\..\..\lib\share.h" /> <ClInclude Include="..\..\..\..\lib\sigpipe.h" /> <ClInclude Include="..\..\..\..\lib\slist.h" /> <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\ssh.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC14/lib/libcurl.vcxproj.
︙ | ︙ | |||
2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 | <ClCompile Include="..\..\..\..\lib\sendf.c" /> <ClCompile Include="..\..\..\..\lib\setopt.c" /> <ClCompile Include="..\..\..\..\lib\sha256.c" /> <ClCompile Include="..\..\..\..\lib\share.c" /> <ClCompile Include="..\..\..\..\lib\slist.c" /> <ClCompile Include="..\..\..\..\lib\smb.c" /> <ClCompile Include="..\..\..\..\lib\smtp.c" /> <ClCompile Include="..\..\..\..\lib\socks.c" /> <ClCompile Include="..\..\..\..\lib\socks_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\socks_sspi.c" /> <ClCompile Include="..\..\..\..\lib\speedcheck.c" /> <ClCompile Include="..\..\..\..\lib\splay.c" /> <ClCompile Include="..\..\..\..\lib\strcase.c" /> <ClCompile Include="..\..\..\..\lib\strdup.c" /> | > | 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 | <ClCompile Include="..\..\..\..\lib\sendf.c" /> <ClCompile Include="..\..\..\..\lib\setopt.c" /> <ClCompile Include="..\..\..\..\lib\sha256.c" /> <ClCompile Include="..\..\..\..\lib\share.c" /> <ClCompile Include="..\..\..\..\lib\slist.c" /> <ClCompile Include="..\..\..\..\lib\smb.c" /> <ClCompile Include="..\..\..\..\lib\smtp.c" /> <ClCompile Include="..\..\..\..\lib\socketpair.c" /> <ClCompile Include="..\..\..\..\lib\socks.c" /> <ClCompile Include="..\..\..\..\lib\socks_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\socks_sspi.c" /> <ClCompile Include="..\..\..\..\lib\speedcheck.c" /> <ClCompile Include="..\..\..\..\lib\splay.c" /> <ClCompile Include="..\..\..\..\lib\strcase.c" /> <ClCompile Include="..\..\..\..\lib\strdup.c" /> |
︙ | ︙ | |||
2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 | <ClInclude Include="..\..\..\..\lib\setup-vms.h" /> <ClInclude Include="..\..\..\..\lib\share.h" /> <ClInclude Include="..\..\..\..\lib\sigpipe.h" /> <ClInclude Include="..\..\..\..\lib\slist.h" /> <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\ssh.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> | > | 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 | <ClInclude Include="..\..\..\..\lib\setup-vms.h" /> <ClInclude Include="..\..\..\..\lib\share.h" /> <ClInclude Include="..\..\..\..\lib\sigpipe.h" /> <ClInclude Include="..\..\..\..\lib\slist.h" /> <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\ssh.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC15/lib/libcurl.vcxproj.
︙ | ︙ | |||
2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 | <ClCompile Include="..\..\..\..\lib\sendf.c" /> <ClCompile Include="..\..\..\..\lib\setopt.c" /> <ClCompile Include="..\..\..\..\lib\sha256.c" /> <ClCompile Include="..\..\..\..\lib\share.c" /> <ClCompile Include="..\..\..\..\lib\slist.c" /> <ClCompile Include="..\..\..\..\lib\smb.c" /> <ClCompile Include="..\..\..\..\lib\smtp.c" /> <ClCompile Include="..\..\..\..\lib\socks.c" /> <ClCompile Include="..\..\..\..\lib\socks_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\socks_sspi.c" /> <ClCompile Include="..\..\..\..\lib\speedcheck.c" /> <ClCompile Include="..\..\..\..\lib\splay.c" /> <ClCompile Include="..\..\..\..\lib\strcase.c" /> <ClCompile Include="..\..\..\..\lib\strdup.c" /> | > | 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 | <ClCompile Include="..\..\..\..\lib\sendf.c" /> <ClCompile Include="..\..\..\..\lib\setopt.c" /> <ClCompile Include="..\..\..\..\lib\sha256.c" /> <ClCompile Include="..\..\..\..\lib\share.c" /> <ClCompile Include="..\..\..\..\lib\slist.c" /> <ClCompile Include="..\..\..\..\lib\smb.c" /> <ClCompile Include="..\..\..\..\lib\smtp.c" /> <ClCompile Include="..\..\..\..\lib\socketpair.c" /> <ClCompile Include="..\..\..\..\lib\socks.c" /> <ClCompile Include="..\..\..\..\lib\socks_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\socks_sspi.c" /> <ClCompile Include="..\..\..\..\lib\speedcheck.c" /> <ClCompile Include="..\..\..\..\lib\splay.c" /> <ClCompile Include="..\..\..\..\lib\strcase.c" /> <ClCompile Include="..\..\..\..\lib\strdup.c" /> |
︙ | ︙ | |||
2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 | <ClInclude Include="..\..\..\..\lib\setup-vms.h" /> <ClInclude Include="..\..\..\..\lib\share.h" /> <ClInclude Include="..\..\..\..\lib\sigpipe.h" /> <ClInclude Include="..\..\..\..\lib\slist.h" /> <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\ssh.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> | > | 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 | <ClInclude Include="..\..\..\..\lib\setup-vms.h" /> <ClInclude Include="..\..\..\..\lib\share.h" /> <ClInclude Include="..\..\..\..\lib\sigpipe.h" /> <ClInclude Include="..\..\..\..\lib\slist.h" /> <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\ssh.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC6/lib/libcurl.dsp.
︙ | ︙ | |||
1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 | SOURCE=..\..\..\..\lib\smb.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\smtp.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socks.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socks_gssapi.c # End Source File | > > > > | 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 | SOURCE=..\..\..\..\lib\smb.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\smtp.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socketpair.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socks.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socks_gssapi.c # End Source File |
︙ | ︙ | |||
1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 | SOURCE=..\..\..\..\lib\smtp.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\sockaddr.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socks.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\speedcheck.h # End Source File | > > > > | 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 | SOURCE=..\..\..\..\lib\smtp.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\sockaddr.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socketpair.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socks.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\speedcheck.h # End Source File |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7.1/lib/libcurl.vcproj.
︙ | ︙ | |||
1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 | </File> <File RelativePath="..\..\..\..\lib\smb.c"> </File> <File RelativePath="..\..\..\..\lib\smtp.c"> </File> <File RelativePath="..\..\..\..\lib\socks.c"> </File> <File RelativePath="..\..\..\..\lib\socks_gssapi.c"> </File> <File | > > > | 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 | </File> <File RelativePath="..\..\..\..\lib\smb.c"> </File> <File RelativePath="..\..\..\..\lib\smtp.c"> </File> <File RelativePath="..\..\..\..\lib\socketpair.c"> </File> <File RelativePath="..\..\..\..\lib\socks.c"> </File> <File RelativePath="..\..\..\..\lib\socks_gssapi.c"> </File> <File |
︙ | ︙ | |||
1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 | </File> <File RelativePath="..\..\..\..\lib\smtp.h"> </File> <File RelativePath="..\..\..\..\lib\sockaddr.h"> </File> <File RelativePath="..\..\..\..\lib\socks.h"> </File> <File RelativePath="..\..\..\..\lib\speedcheck.h"> </File> <File | > > > | 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 | </File> <File RelativePath="..\..\..\..\lib\smtp.h"> </File> <File RelativePath="..\..\..\..\lib\sockaddr.h"> </File> <File RelativePath="..\..\..\..\lib\socketpair.h"> </File> <File RelativePath="..\..\..\..\lib\socks.h"> </File> <File RelativePath="..\..\..\..\lib\speedcheck.h"> </File> <File |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7/lib/libcurl.vcproj.
︙ | ︙ | |||
1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 | </File> <File RelativePath="..\..\..\..\lib\smb.c"> </File> <File RelativePath="..\..\..\..\lib\smtp.c"> </File> <File RelativePath="..\..\..\..\lib\socks.c"> </File> <File RelativePath="..\..\..\..\lib\socks_gssapi.c"> </File> <File | > > > | 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 | </File> <File RelativePath="..\..\..\..\lib\smb.c"> </File> <File RelativePath="..\..\..\..\lib\smtp.c"> </File> <File RelativePath="..\..\..\..\lib\socketpair.c"> </File> <File RelativePath="..\..\..\..\lib\socks.c"> </File> <File RelativePath="..\..\..\..\lib\socks_gssapi.c"> </File> <File |
︙ | ︙ | |||
1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 | </File> <File RelativePath="..\..\..\..\lib\smtp.h"> </File> <File RelativePath="..\..\..\..\lib\sockaddr.h"> </File> <File RelativePath="..\..\..\..\lib\socks.h"> </File> <File RelativePath="..\..\..\..\lib\speedcheck.h"> </File> <File | > > > | 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 | </File> <File RelativePath="..\..\..\..\lib\smtp.h"> </File> <File RelativePath="..\..\..\..\lib\sockaddr.h"> </File> <File RelativePath="..\..\..\..\lib\socketpair.h"> </File> <File RelativePath="..\..\..\..\lib\socks.h"> </File> <File RelativePath="..\..\..\..\lib\speedcheck.h"> </File> <File |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC8/lib/libcurl.vcproj.
︙ | ︙ | |||
3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 | <File RelativePath="..\..\..\..\lib\smb.c" > </File> <File RelativePath="..\..\..\..\lib\smtp.c" > </File> <File RelativePath="..\..\..\..\lib\socks.c" > </File> <File RelativePath="..\..\..\..\lib\socks_gssapi.c" | > > > > | 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 | <File RelativePath="..\..\..\..\lib\smb.c" > </File> <File RelativePath="..\..\..\..\lib\smtp.c" > </File> <File RelativePath="..\..\..\..\lib\socketpair.c" > </File> <File RelativePath="..\..\..\..\lib\socks.c" > </File> <File RelativePath="..\..\..\..\lib\socks_gssapi.c" |
︙ | ︙ | |||
4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 | <File RelativePath="..\..\..\..\lib\smtp.h" > </File> <File RelativePath="..\..\..\..\lib\sockaddr.h" > </File> <File RelativePath="..\..\..\..\lib\socks.h" > </File> <File RelativePath="..\..\..\..\lib\speedcheck.h" | > > > > | 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 | <File RelativePath="..\..\..\..\lib\smtp.h" > </File> <File RelativePath="..\..\..\..\lib\sockaddr.h" > </File> <File RelativePath="..\..\..\..\lib\socketpair.h" > </File> <File RelativePath="..\..\..\..\lib\socks.h" > </File> <File RelativePath="..\..\..\..\lib\speedcheck.h" |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC9/lib/libcurl.vcproj.
︙ | ︙ | |||
3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 | <File RelativePath="..\..\..\..\lib\smb.c" > </File> <File RelativePath="..\..\..\..\lib\smtp.c" > </File> <File RelativePath="..\..\..\..\lib\socks.c" > </File> <File RelativePath="..\..\..\..\lib\socks_gssapi.c" | > > > > | 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 | <File RelativePath="..\..\..\..\lib\smb.c" > </File> <File RelativePath="..\..\..\..\lib\smtp.c" > </File> <File RelativePath="..\..\..\..\lib\socketpair.c" > </File> <File RelativePath="..\..\..\..\lib\socks.c" > </File> <File RelativePath="..\..\..\..\lib\socks_gssapi.c" |
︙ | ︙ | |||
4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 | <File RelativePath="..\..\..\..\lib\smtp.h" > </File> <File RelativePath="..\..\..\..\lib\sockaddr.h" > </File> <File RelativePath="..\..\..\..\lib\socks.h" > </File> <File RelativePath="..\..\..\..\lib\speedcheck.h" | > > > > | 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 | <File RelativePath="..\..\..\..\lib\smtp.h" > </File> <File RelativePath="..\..\..\..\lib\sockaddr.h" > </File> <File RelativePath="..\..\..\..\lib\socketpair.h" > </File> <File RelativePath="..\..\..\..\lib\socks.h" > </File> <File RelativePath="..\..\..\..\lib\speedcheck.h" |
︙ | ︙ |
Changes to jni/curl/src/tool_cfgable.h.
︙ | ︙ | |||
18 19 20 21 22 23 24 | * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "tool_setup.h" | < < | > > > > > > > > > > > > > > | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "tool_setup.h" #include "tool_sdecls.h" #include "tool_metalink.h" #include "tool_urlglob.h" #include "tool_formparse.h" typedef enum { ERR_NONE, ERR_BINARY_TERMINAL = 1, /* binary to terminal detected */ ERR_LAST } curl_error; struct GlobalConfig; struct State { struct getout *urlnode; URLGlob *inglob; URLGlob *urls; char *outfiles; char *httpgetfields; char *uploadfile; unsigned long infilenum; /* number of files to upload */ unsigned long up; /* upload file counter within a single upload glob */ unsigned long urlnum; /* how many iterations this single URL has with ranges etc */ unsigned long li; }; struct OperationConfig { bool remote_time; char *random_file; char *egd_file; char *useragent; char *cookie; /* single line with specified cookies */ |
︙ | ︙ | |||
258 259 260 261 262 263 264 265 266 267 268 269 270 271 | long happy_eyeballs_timeout_ms; /* happy eyeballs timeout in milliseconds. 0 is valid. default: CURL_HET_DEFAULT. */ bool haproxy_protocol; /* whether to send HAProxy protocol v1 */ bool disallow_username_in_url; /* disallow usernames in URLs */ struct GlobalConfig *global; struct OperationConfig *prev; struct OperationConfig *next; /* Always last in the struct */ }; struct GlobalConfig { int showerror; /* -1 == unset, default => show errors 0 => -s is used to NOT show errors 1 => -S has been used to show errors */ bool mute; /* don't show messages, --silent given */ | > | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | long happy_eyeballs_timeout_ms; /* happy eyeballs timeout in milliseconds. 0 is valid. default: CURL_HET_DEFAULT. */ bool haproxy_protocol; /* whether to send HAProxy protocol v1 */ bool disallow_username_in_url; /* disallow usernames in URLs */ struct GlobalConfig *global; struct OperationConfig *prev; struct OperationConfig *next; /* Always last in the struct */ struct State state; /* for create_transfer() */ }; struct GlobalConfig { int showerror; /* -1 == unset, default => show errors 0 => -s is used to NOT show errors 1 => -S has been used to show errors */ bool mute; /* don't show messages, --silent given */ |
︙ | ︙ |
Changes to jni/curl/src/tool_getparam.c.
︙ | ︙ | |||
239 240 241 242 243 244 245 | {"Eh", "pubkey", ARG_STRING}, {"Ei", "hostpubmd5", ARG_STRING}, {"Ej", "crlfile", ARG_FILENAME}, {"Ek", "tlsuser", ARG_STRING}, {"El", "tlspassword", ARG_STRING}, {"Em", "tlsauthtype", ARG_STRING}, {"En", "ssl-allow-beast", ARG_BOOL}, | | | 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 | {"Eh", "pubkey", ARG_STRING}, {"Ei", "hostpubmd5", ARG_STRING}, {"Ej", "crlfile", ARG_FILENAME}, {"Ek", "tlsuser", ARG_STRING}, {"El", "tlspassword", ARG_STRING}, {"Em", "tlsauthtype", ARG_STRING}, {"En", "ssl-allow-beast", ARG_BOOL}, /* Eo */ {"Ep", "pinnedpubkey", ARG_STRING}, {"EP", "proxy-pinnedpubkey", ARG_STRING}, {"Eq", "cert-status", ARG_BOOL}, {"Er", "false-start", ARG_BOOL}, {"Es", "ssl-no-revoke", ARG_BOOL}, {"Et", "tcp-fastopen", ARG_BOOL}, {"Eu", "proxy-tlsuser", ARG_STRING}, |
︙ | ︙ | |||
318 319 320 321 322 323 324 325 326 327 328 329 330 331 | {"X", "request", ARG_STRING}, {"Y", "speed-limit", ARG_STRING}, {"y", "speed-time", ARG_STRING}, {"z", "time-cond", ARG_STRING}, {"Z", "parallel", ARG_BOOL}, {"Zb", "parallel-max", ARG_STRING}, {"#", "progress-bar", ARG_BOOL}, {":", "next", ARG_NONE}, }; /* Split the argument of -E to 'certname' and 'passphrase' separated by colon. * We allow ':' and '\' to be escaped by '\' so that we can use certificate * nicknames containing ':'. See <https://sourceforge.net/p/curl/bugs/1196/> * for details. */ | > | 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 | {"X", "request", ARG_STRING}, {"Y", "speed-limit", ARG_STRING}, {"y", "speed-time", ARG_STRING}, {"z", "time-cond", ARG_STRING}, {"Z", "parallel", ARG_BOOL}, {"Zb", "parallel-max", ARG_STRING}, {"#", "progress-bar", ARG_BOOL}, {"#m", "progress-meter", ARG_BOOL}, {":", "next", ARG_NONE}, }; /* Split the argument of -E to 'certname' and 'passphrase' separated by colon. * We allow ':' and '\' to be escaped by '\' so that we can use certificate * nicknames containing ':'. See <https://sourceforge.net/p/curl/bugs/1196/> * for details. */ |
︙ | ︙ | |||
1168 1169 1170 1171 1172 1173 1174 | err = str2unum(&config->happy_eyeballs_timeout_ms, nextarg); if(err) return err; /* 0 is a valid value for this timeout */ break; } break; | | > > | > > | < | > > | 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 | err = str2unum(&config->happy_eyeballs_timeout_ms, nextarg); if(err) return err; /* 0 is a valid value for this timeout */ break; } break; case '#': switch(subletter) { case 'm': /* --progress-meter */ global->noprogress = !toggle; break; default: /* --progress-bar */ global->progressmode = toggle ? CURL_PROGRESS_BAR : CURL_PROGRESS_STATS; break; } break; case ':': /* --next */ return PARAM_NEXT_OPERATION; case '0': /* --http* options */ switch(subletter) { case '\0': /* HTTP version 1.0 */ |
︙ | ︙ | |||
1565 1566 1567 1568 1569 1570 1571 | return PARAM_LIBCURL_DOESNT_SUPPORT; break; case 'n': /* no empty SSL fragments, --ssl-allow-beast */ if(curlinfo->features & CURL_VERSION_SSL) config->ssl_allow_beast = toggle; break; | < < < < | 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 | return PARAM_LIBCURL_DOESNT_SUPPORT; break; case 'n': /* no empty SSL fragments, --ssl-allow-beast */ if(curlinfo->features & CURL_VERSION_SSL) config->ssl_allow_beast = toggle; break; case 'p': /* Pinned public key DER file */ GetStr(&config->pinnedpubkey, nextarg); break; case 'P': /* proxy pinned public key */ GetStr(&config->proxy_pinnedpubkey, nextarg); break; |
︙ | ︙ |
Changes to jni/curl/src/tool_help.c.
︙ | ︙ | |||
259 260 261 262 263 264 265 266 267 268 269 270 271 272 | "Disable the ALPN TLS extension"}, {"-N, --no-buffer", "Disable buffering of the output stream"}, {" --no-keepalive", "Disable TCP keepalive on the connection"}, {" --no-npn", "Disable the NPN TLS extension"}, {" --no-sessionid", "Disable SSL session-ID reusing"}, {" --noproxy <no-proxy-list>", "List of hosts which do not use proxy"}, {" --ntlm", "Use HTTP NTLM authentication"}, {" --ntlm-wb", | > > | 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | "Disable the ALPN TLS extension"}, {"-N, --no-buffer", "Disable buffering of the output stream"}, {" --no-keepalive", "Disable TCP keepalive on the connection"}, {" --no-npn", "Disable the NPN TLS extension"}, {" --no-progress-meter", "Do not show the progress meter"}, {" --no-sessionid", "Disable SSL session-ID reusing"}, {" --noproxy <no-proxy-list>", "List of hosts which do not use proxy"}, {" --ntlm", "Use HTTP NTLM authentication"}, {" --ntlm-wb", |
︙ | ︙ | |||
536 537 538 539 540 541 542 543 544 545 546 547 548 549 | {"HTTP2", CURL_VERSION_HTTP2}, {"HTTP3", CURL_VERSION_HTTP3}, {"UnixSockets", CURL_VERSION_UNIX_SOCKETS}, {"HTTPS-proxy", CURL_VERSION_HTTPS_PROXY}, {"MultiSSL", CURL_VERSION_MULTI_SSL}, {"PSL", CURL_VERSION_PSL}, {"alt-svc", CURL_VERSION_ALTSVC}, }; void tool_help(void) { int i; puts("Usage: curl [options...] <url>"); for(i = 0; helptext[i].opt; i++) { | > | 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 | {"HTTP2", CURL_VERSION_HTTP2}, {"HTTP3", CURL_VERSION_HTTP3}, {"UnixSockets", CURL_VERSION_UNIX_SOCKETS}, {"HTTPS-proxy", CURL_VERSION_HTTPS_PROXY}, {"MultiSSL", CURL_VERSION_MULTI_SSL}, {"PSL", CURL_VERSION_PSL}, {"alt-svc", CURL_VERSION_ALTSVC}, {"ESNI", CURL_VERSION_ESNI}, }; void tool_help(void) { int i; puts("Usage: curl [options...] <url>"); for(i = 0; helptext[i].opt; i++) { |
︙ | ︙ |
Changes to jni/curl/src/tool_hugehelp.c.
︙ | ︙ | |||
2058 2059 2060 2061 2062 2063 2064 2065 | fputs( " is used by a libcurl that supports HTTP/2 to negotiate HTTP/2\n" " support with the server during https sessions.\n" "\n" " See also --no-alpn and --http2. --no-npn requires that the un-\n" " derlying libcurl was built to support TLS. Added in 7.36.0.\n" "\n" " --no-sessionid\n" | > > > > > > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 | fputs( " is used by a libcurl that supports HTTP/2 to negotiate HTTP/2\n" " support with the server during https sessions.\n" "\n" " See also --no-alpn and --http2. --no-npn requires that the un-\n" " derlying libcurl was built to support TLS. Added in 7.36.0.\n" "\n" " --no-progress-meter\n" " Option to switch off the progress meter output without muting or\n" " otherwise affecting warning and informational messages like -s,\n" , stdout); fputs( " --silent does.\n" "\n" " Note that this is the negated option name documented. You can\n" " thus use --progress-meter to enable the progress meter again.\n" "\n" " See also -v, --verbose and -s, --silent. Added in 7.67.0.\n" "\n" " --no-sessionid\n" " (TLS) Disable curl's use of SSL session-ID caching. By default\n" " all transfers are done using the cache. Note that while nothing\n" , stdout); fputs( " should ever get hurt by attempting to reuse SSL session-IDs,\n" " there seem to be broken SSL implementations in the wild that may\n" " require you to disable this in order for you to succeed.\n" "\n" " Note that this is the negated option name documented. You can\n" " thus use --sessionid to enforce session-ID caching.\n" "\n" " Added in 7.16.0.\n" "\n" " --noproxy <no-proxy-list>\n" , stdout); fputs( " Comma-separated list of hosts which do not use a proxy, if one\n" " is specified. The only wildcard is a single * character, which\n" " matches all hosts, and effectively disables the proxy. Each name\n" " in this list is matched as either a domain which contains the\n" " hostname, or the hostname itself. For example, local.com would\n" " match local.com, local.com:80, and www.local.com, but not\n" , stdout); fputs( " www.notlocal.com.\n" "\n" " Since 7.53.0, This option overrides the environment variables\n" " that disable the proxy. If there's an environment variable dis-\n" " abling a proxy, you can set noproxy list to \"\" to override it.\n" "\n" " Added in 7.19.4.\n" "\n" " --ntlm-wb\n" " (HTTP) Enables NTLM much in the style --ntlm does, but hand over\n" " the authentication to the separate binary ntlmauth application\n" , stdout); fputs( " that is executed when needed.\n" "\n" " See also --ntlm and --proxy-ntlm.\n" "\n" " --ntlm (HTTP) Enables NTLM authentication. The NTLM authentication\n" " method was designed by Microsoft and is used by IIS web servers.\n" " It is a proprietary protocol, reverse-engineered by clever peo-\n" " ple and implemented in curl based on their efforts. This kind of\n" " behavior should not be endorsed, you should encourage everyone\n" , stdout); fputs( " who uses NTLM to switch to a public and documented authentica-\n" " tion method instead, such as Digest.\n" "\n" " If you want to enable NTLM for your proxy authentication, then\n" " use --proxy-ntlm.\n" "\n" " If this option is used several times, only the first one is\n" " used.\n" "\n" " See also --proxy-ntlm. --ntlm requires that the underlying\n" , stdout); fputs( " libcurl was built to support TLS. This option overrides --basic\n" " and --negotiate and --digest and --anyauth.\n" "\n" " --oauth2-bearer <token>\n" " (IMAP POP3 SMTP) Specify the Bearer Token for OAUTH 2.0 server\n" " authentication. The Bearer Token is used in conjunction with the\n" " user name which can be specified as part of the --url or -u,\n" " --user options.\n" "\n" , stdout); fputs( " The Bearer Token and user name are formatted according to RFC\n" " 6750.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " -o, --output <file>\n" " Write output to <file> instead of stdout. If you are using {} or\n" " [] to fetch multiple documents, you can use '#' followed by a\n" " number in the <file> specifier. That variable will be replaced\n" , stdout); fputs( " with the current string for the URL being fetched. Like in:\n" "\n" " curl http://{one,two}.example.com -o \"file_#1.txt\"\n" "\n" " or use several variables like:\n" "\n" " curl http://{site,host}.host[1-5].com -o \"#1_#2\"\n" "\n" " You may use this option as many times as the number of URLs you\n" " have. For example, if you specify two URLs on the same command\n" " line, you can use it like this:\n" "\n" , stdout); fputs( " curl -o aa example.com -o bb example.net\n" "\n" " and the order of the -o options and the URLs doesn't matter,\n" " just that the first -o is for the first URL and so on, so the\n" " above command line can also be written as\n" "\n" " curl example.com example.net -o aa -o bb\n" "\n" " See also the --create-dirs option to create the local directo-\n" " ries dynamically. Specifying the output as '-' (a single dash)\n" , stdout); fputs( " will force the output to be done to stdout.\n" "\n" " See also -O, --remote-name and --remote-name-all and -J, --re-\n" " mote-header-name.\n" "\n" " --parallel-max\n" " When asked to do parallel transfers, using -Z, --parallel, this\n" " option controls the maximum amount of transfers to do simultane-\n" " ously.\n" "\n" " The default is 50.\n" "\n" " See also -Z, --parallel. Added in 7.66.0.\n" "\n" " -Z, --parallel\n" , stdout); fputs( " Makes curl perform its transfers in parallel as compared to the\n" " regular serial manner.\n" "\n" " Added in 7.66.0.\n" "\n" " --pass <phrase>\n" " (SSH TLS) Passphrase for the private key\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --path-as-is\n" " Tell curl to not handle sequences of /../ or /./ in the given\n" " URL path. Normally curl will squash or merge them according to\n" , stdout); fputs( " standards but with this option set you tell it not to do that.\n" "\n" " Added in 7.42.0.\n" "\n" " --pinnedpubkey <hashes>\n" " (TLS) Tells curl to use the specified public key file (or\n" " hashes) to verify the peer. This can be a path to a file which\n" " contains a single public key in PEM or DER format, or any number\n" " of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n" " rated by ';'\n" "\n" , stdout); fputs( " When negotiating a TLS or SSL connection, the server sends a\n" " certificate indicating its identity. A public key is extracted\n" " from this certificate and if it does not exactly match the pub-\n" " lic key provided to this option, curl will abort the connection\n" " before sending or receiving any data.\n" "\n" " PEM/DER support:\n" " 7.39.0: OpenSSL, GnuTLS and GSKit\n" " 7.43.0: NSS and wolfSSL\n" , stdout); fputs( " 7.47.0: mbedtls sha256 support:\n" " 7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL\n" " 7.47.0: mbedtls Other SSL backends not supported.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --post301\n" " (HTTP) Tells curl to respect RFC 7231/6.4.2 and not convert POST\n" " requests into GET requests when following a 301 redirection. The\n" , stdout); fputs( " non-RFC behaviour is ubiquitous in web browsers, so curl does\n" " the conversion by default to maintain consistency. However, a\n" " server may require a POST to remain a POST after such a redi-\n" " rection. This option is meaningful only when using -L, --loca-\n" " tion.\n" "\n" " See also --post302 and --post303 and -L, --location. Added in\n" " 7.17.1.\n" "\n" " --post302\n" , stdout); fputs( " (HTTP) Tells curl to respect RFC 7231/6.4.3 and not convert POST\n" " requests into GET requests when following a 302 redirection. The\n" " non-RFC behaviour is ubiquitous in web browsers, so curl does\n" " the conversion by default to maintain consistency. However, a\n" " server may require a POST to remain a POST after such a redi-\n" " rection. This option is meaningful only when using -L, --loca-\n" " tion.\n" "\n" , stdout); fputs( " See also --post301 and --post303 and -L, --location. Added in\n" " 7.19.1.\n" "\n" " --post303\n" " (HTTP) Tells curl to violate RFC 7231/6.4.4 and not convert POST\n" " requests into GET requests when following 303 redirections. A\n" " server may require a POST to remain a POST after a 303 redirect-\n" " ion. This option is meaningful only when using -L, --location.\n" "\n" , stdout); fputs( " See also --post302 and --post301 and -L, --location. Added in\n" " 7.26.0.\n" "\n" " --preproxy [protocol://]host[:port]\n" " Use the specified SOCKS proxy before connecting to an HTTP or\n" " HTTPS -x, --proxy. In such a case curl first connects to the\n" " SOCKS proxy and then connects (through SOCKS) to the HTTP or\n" " HTTPS proxy. Hence pre proxy.\n" "\n" , stdout); fputs( " The pre proxy string should be specified with a protocol:// pre-\n" " fix to specify alternative proxy protocols. Use socks4://,\n" " socks4a://, socks5:// or socks5h:// to request the specific\n" " SOCKS version to be used. No protocol specified will make curl\n" " default to SOCKS4.\n" "\n" " If the port number is not specified in the proxy string, it is\n" " assumed to be 1080.\n" "\n" , stdout); fputs( " User and password that might be provided in the proxy string are\n" " URL decoded by curl. This allows you to pass in special charac-\n" " ters such as @ by using %40 or pass in a colon with %3a.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.52.0.\n" "\n" " -#, --progress-bar\n" " Make curl display transfer progress as a simple progress bar in-\n" , stdout); fputs( " stead of the standard, more informational, meter.\n" "\n" " This progress bar draws a single line of '#' characters across\n" " the screen and shows a percentage if the transfer size is known.\n" " For transfers without a known size, there will be space ship\n" " (-=o=-) that moves back and forth but only while data is being\n" " transferred, with a set of flying hash sign symbols on top.\n" "\n" " --proto-default <protocol>\n" , stdout); fputs( " Tells curl to use protocol for any URL missing a scheme name.\n" "\n" " Example:\n" "\n" " curl --proto-default https ftp.mozilla.org\n" "\n" " An unknown or unsupported protocol causes error CURLE_UNSUP-\n" " PORTED_PROTOCOL (1).\n" "\n" " This option does not change the default proxy protocol (http).\n" "\n" " Without this option curl would make a guess based on the host,\n" " see --url for details.\n" "\n" , stdout); fputs( " Added in 7.45.0.\n" "\n" " --proto-redir <protocols>\n" " Tells curl to limit what protocols it may use on redirect. Pro-\n" " tocols denied by --proto are not overridden by this option. See\n" " --proto for how protocols are represented.\n" "\n" " Example, allow only HTTP and HTTPS on redirect:\n" "\n" " curl --proto-redir -all,http,https http://example.com\n" "\n" " By default curl will allow HTTP, HTTPS, FTP and FTPS on redirect\n" , stdout); fputs( " (7.65.2). Older versions of curl allowed all protocols on redi-\n" " rect except several disabled for security reasons: Since 7.19.4\n" " FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are\n" " also disabled. Specifying all or +all enables all protocols on\n" " redirect, including those disabled for security.\n" "\n" " Added in 7.20.2.\n" "\n" " --proto <protocols>\n" , stdout); fputs( " Tells curl to limit what protocols it may use in the transfer.\n" " Protocols are evaluated left to right, are comma separated, and\n" " are each a protocol name or 'all', optionally prefixed by zero\n" " or more modifiers. Available modifiers are:\n" "\n" " + Permit this protocol in addition to protocols already permit-\n" " ted (this is the default if no modifier is used).\n" "\n" , stdout); fputs( " - Deny this protocol, removing it from the list of protocols\n" " already permitted.\n" "\n" " = Permit only this protocol (ignoring the list already permit-\n" " ted), though subject to later modification by subsequent en-\n" " tries in the comma separated list.\n" "\n" " For example:\n" "\n" " --proto -ftps uses the default protocols, but disables ftps\n" "\n" " --proto -all,https,+http\n" , stdout); fputs( " only enables http and https\n" "\n" " --proto =http,https\n" " also only enables http and https\n" "\n" " Unknown protocols produce a warning. This allows scripts to safely rely\n" " on being able to disable potentially dangerous protocols, without rely-\n" " ing upon support for that protocol being built into curl to avoid an\n" " error.\n" "\n" " This option can be used multiple times, in which case the effect is the\n" , stdout); fputs( " same as concatenating the protocols into one instance of the option.\n" "\n" " See also --proto-redir and --proto-default. Added in 7.20.2.\n" "\n" " --proxy-anyauth\n" " Tells curl to pick a suitable authentication method when commu-\n" " nicating with the given HTTP proxy. This might cause an extra\n" " request/response round-trip.\n" "\n" " See also -x, --proxy and --proxy-basic and --proxy-digest. Added\n" " in 7.13.2.\n" "\n" " --proxy-basic\n" , stdout); fputs( " Tells curl to use HTTP Basic authentication when communicating\n" " with the given proxy. Use --basic for enabling HTTP Basic with a\n" " remote host. Basic is the default authentication method curl\n" " uses with proxies.\n" "\n" " See also -x, --proxy and --proxy-anyauth and --proxy-digest.\n" "\n" " --proxy-cacert <file>\n" " Same as --cacert but used in HTTPS proxy context.\n" "\n" , stdout); fputs( " See also --proxy-capath and --cacert and --capath and -x,\n" " --proxy. Added in 7.52.0.\n" "\n" " --proxy-capath <dir>\n" " Same as --capath but used in HTTPS proxy context.\n" "\n" " See also --proxy-cacert and -x, --proxy and --capath. Added in\n" " 7.52.0.\n" "\n" " --proxy-cert-type <type>\n" " Same as --cert-type but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" |
︙ | ︙ | |||
2449 2450 2451 2452 2453 2454 2455 | "\n" " --proxy-crlfile <file>\n" " Same as --crlfile but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-digest\n" | | | | | | | | | | | | | | | | | | | | | | | | | 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 | "\n" " --proxy-crlfile <file>\n" " Same as --crlfile but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-digest\n" " Tells curl to use HTTP Digest authentication when communicating\n" , stdout); fputs( " with the given proxy. Use --digest for enabling HTTP Digest with\n" " a remote host.\n" "\n" " See also -x, --proxy and --proxy-anyauth and --proxy-basic.\n" "\n" " --proxy-header <header/@file>\n" " (HTTP) Extra header to include in the request when sending HTTP\n" " to a proxy. You may specify any number of extra headers. This is\n" " the equivalent option to -H, --header but is for proxy communi-\n" , stdout); fputs( " cation only like in CONNECT requests when you want a separate\n" " header sent to the proxy to what is sent to the actual remote\n" " host.\n" "\n" " curl will make sure that each header you add/replace is sent\n" " with the proper end-of-line marker, you should thus not add that\n" " as a part of the header content: do not add newlines or carriage\n" " returns, they will only mess things up for you.\n" "\n" , stdout); fputs( " Headers specified with this option will not be included in re-\n" " quests that curl knows will not be sent to a proxy.\n" "\n" " Starting in 7.55.0, this option can take an argument in @file-\n" " name style, which then adds a header for each line in the input\n" " file. Using @- will make curl read the header file from stdin.\n" "\n" " This option can be used multiple times to add/replace/remove\n" " multiple headers.\n" "\n" , stdout); fputs( " Added in 7.37.0.\n" " --proxy-insecure\n" " Same as -k, --insecure but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-key-type <type>\n" " Same as --key-type but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-key <key>\n" " Same as --key but used in HTTPS proxy context.\n" "\n" " --proxy-negotiate\n" " Tells curl to use HTTP Negotiate (SPNEGO) authentication when\n" , stdout); fputs( " communicating with the given proxy. Use --negotiate for enabling\n" " HTTP Negotiate (SPNEGO) with a remote host.\n" "\n" " See also --proxy-anyauth and --proxy-basic. Added in 7.17.1.\n" "\n" " --proxy-ntlm\n" " Tells curl to use HTTP NTLM authentication when communicating\n" " with the given proxy. Use --ntlm for enabling NTLM with a remote\n" " host.\n" "\n" " See also --proxy-negotiate and --proxy-anyauth.\n" "\n" , stdout); fputs( " --proxy-pass <phrase>\n" " Same as --pass but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-pinnedpubkey <hashes>\n" " (TLS) Tells curl to use the specified public key file (or\n" " hashes) to verify the proxy. This can be a path to a file which\n" " contains a single public key in PEM or DER format, or any number\n" " of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n" , stdout); fputs( " rated by ';'\n" "\n" " When negotiating a TLS or SSL connection, the server sends a\n" " certificate indicating its identity. A public key is extracted\n" " from this certificate and if it does not exactly match the pub-\n" " lic key provided to this option, curl will abort the connection\n" " before sending or receiving any data.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" , stdout); fputs( " --proxy-service-name <name>\n" " This option allows you to change the service name for proxy ne-\n" " gotiation.\n" "\n" " Added in 7.43.0.\n" "\n" " --proxy-ssl-allow-beast\n" " Same as --ssl-allow-beast but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-tls13-ciphers <ciphersuite list>\n" " (TLS) Specifies which cipher suites to use in the connection to\n" , stdout); fputs( " your HTTPS proxy when it negotiates TLS 1.3. The list of ciphers\n" " suites must specify valid ciphers. Read up on TLS 1.3 cipher\n" " suite details on this URL:\n" "\n" " https://curl.haxx.se/docs/ssl-ciphers.html\n" "\n" " This option is currently used only when curl is built to use\n" " OpenSSL 1.1.1 or later. If you are using a different SSL backend\n" " you can try setting TLS 1.3 cipher suites by using the --proxy-\n" , stdout); fputs( " ciphers option.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --proxy-tlsauthtype <type>\n" |
︙ | ︙ | |||
2595 2596 2597 2598 2599 2600 2601 | "\n" " --proxy-tlsv1\n" " Same as -1, --tlsv1 but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " -U, --proxy-user <user:password>\n" | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 | "\n" " --proxy-tlsv1\n" " Same as -1, --tlsv1 but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " -U, --proxy-user <user:password>\n" " Specify the user name and password to use for proxy authentica-\n" " tion.\n" "\n" " If you use a Windows SSPI-enabled curl binary and do either Ne-\n" " gotiate or NTLM authentication then you can tell curl to select\n" , stdout); fputs( " the user name and password from your environment by specifying a\n" " single colon with this option: \"-U :\".\n" "\n" " On systems where it works, curl will hide the given option argu-\n" " ment from process listings. This is not enough to protect cre-\n" " dentials from possibly getting seen by other users on the same\n" " system as they will still be visible for a brief moment before\n" , stdout); fputs( " cleared. Such sensitive data should be retrieved from a file in-\n" " stead or similar and never used in clear text in a command line.\n" " If this option is used several times, the last one will be used.\n" "\n" " -x, --proxy [protocol://]host[:port]\n" " Use the specified proxy.\n" "\n" " The proxy string can be specified with a protocol:// prefix. No\n" " protocol specified or http:// will be treated as HTTP proxy. Use\n" , stdout); fputs( " socks4://, socks4a://, socks5:// or socks5h:// to request a spe-\n" " cific SOCKS version to be used. (The protocol support was added\n" " in curl 7.21.7)\n" "\n" " HTTPS proxy support via https:// protocol prefix was added in\n" " 7.52.0 for OpenSSL, GnuTLS and NSS.\n" "\n" " Unrecognized and unsupported proxy protocols cause an error\n" " since 7.52.0. Prior versions may ignore the protocol and use\n" , stdout); fputs( " http:// instead.\n" "\n" " If the port number is not specified in the proxy string, it is\n" " assumed to be 1080.\n" "\n" " This option overrides existing environment variables that set\n" " the proxy to use. If there's an environment variable setting a\n" " proxy, you can set proxy to \"\" to override it.\n" "\n" " All operations that are performed over an HTTP proxy will trans-\n" , stdout); fputs( " parently be converted to HTTP. It means that certain protocol\n" " specific operations might not be available. This is not the case\n" " if you can tunnel through the proxy, as one with the -p, --prox-\n" " ytunnel option.\n" "\n" " User and password that might be provided in the proxy string are\n" " URL decoded by curl. This allows you to pass in special charac-\n" " ters such as @ by using %40 or pass in a colon with %3a.\n" "\n" , stdout); fputs( " The proxy host can be specified the exact same way as the proxy\n" " environment variables, including the protocol prefix (http://)\n" " and the embedded user + password.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --proxy1.0 <host[:port]>\n" " Use the specified HTTP 1.0 proxy. If the port number is not\n" " specified, it is assumed at port 1080.\n" "\n" , stdout); fputs( " The only difference between this and the HTTP proxy option -x,\n" " --proxy, is that attempts to use CONNECT through the proxy will\n" " specify an HTTP 1.0 protocol instead of the default HTTP 1.1.\n" "\n" " -p, --proxytunnel\n" " When an HTTP proxy is used -x, --proxy, this option will make\n" " curl tunnel through the proxy. The tunnel approach is made with\n" " the HTTP proxy CONNECT request and requires that the proxy al-\n" , stdout); fputs( " lows direct connect to the remote port number curl wants to tun-\n" " nel through to.\n" "\n" " To suppress proxy CONNECT response headers when curl is set to\n" " output headers use --suppress-connect-headers.\n" "\n" " See also -x, --proxy.\n" "\n" " --pubkey <key>\n" " (SFTP SCP) Public key file name. Allows you to provide your pub-\n" " lic key in this separate file.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" " (As of 7.39.0, curl attempts to automatically extract the public\n" " key from the private key file, so passing this option is gener-\n" " ally not required. Note that this public key extraction requires\n" " libcurl to be linked against a copy of libssh2 1.2.8 or higher\n" " that is itself linked against OpenSSL.)\n" "\n" " -Q, --quote\n" , stdout); fputs( " (FTP SFTP) Send an arbitrary command to the remote FTP or SFTP\n" " server. Quote commands are sent BEFORE the transfer takes place\n" " (just after the initial PWD command in an FTP transfer, to be\n" " exact). To make commands take place after a successful transfer,\n" " prefix them with a dash '-'. To make commands be sent after\n" " curl has changed the working directory, just before the transfer\n" , stdout); fputs( " command(s), prefix the command with a '+' (this is only sup-\n" " ported for FTP). You may specify any number of commands.\n" "\n" " If the server returns failure for one of the commands, the en-\n" " tire operation will be aborted. You must send syntactically cor-\n" " rect FTP commands as RFC 959 defines to FTP servers, or one of\n" " the commands listed below to SFTP servers.\n" "\n" , stdout); fputs( " Prefix the command with an asterisk (*) to make curl continue\n" " even if the command fails as by default curl will stop at first\n" " failure.\n" "\n" " This option can be used multiple times.\n" "\n" " SFTP is a binary protocol. Unlike for FTP, curl interprets SFTP\n" " quote commands itself before sending them to the server. File\n" " names may be quoted shell-style to embed spaces or special char-\n" , stdout); fputs( " acters. Following is the list of all supported SFTP quote com-\n" " mands:\n" "\n" " chgrp group file\n" " The chgrp command sets the group ID of the file named by\n" " the file operand to the group ID specified by the group\n" " operand. The group operand is a decimal integer group ID.\n" "\n" " chmod mode file\n" " The chmod command modifies the file mode bits of the\n" , stdout); fputs( " specified file. The mode operand is an octal integer mode\n" " number.\n" "\n" " chown user file\n" " The chown command sets the owner of the file named by the\n" " file operand to the user ID specified by the user oper-\n" " and. The user operand is a decimal integer user ID.\n" "\n" " ln source_file target_file\n" " The ln and symlink commands create a symbolic link at the\n" , stdout); fputs( " target_file location pointing to the source_file loca-\n" " tion.\n" "\n" " mkdir directory_name\n" " The mkdir command creates the directory named by the di-\n" " rectory_name operand.\n" "\n" " pwd The pwd command returns the absolute pathname of the cur-\n" " rent working directory.\n" "\n" " rename source target\n" , stdout); fputs( " The rename command renames the file or directory named by\n" " the source operand to the destination path named by the\n" " target operand.\n" "\n" " rm file\n" " The rm command removes the file specified by the file op-\n" " erand.\n" "\n" " rmdir directory\n" " The rmdir command removes the directory entry specified\n" , stdout); fputs( " by the directory operand, provided it is empty.\n" "\n" " symlink source_file target_file\n" " See ln.\n" "\n" " --random-file <file>\n" " Specify the path name to file containing what will be considered\n" " as random data. The data may be used to seed the random engine\n" " for SSL connections. See also the --egd-file option.\n" "\n" " -r, --range <range>\n" , stdout); fputs( " (HTTP FTP SFTP FILE) Retrieve a byte range (i.e. a partial docu-\n" " ment) from an HTTP/1.1, FTP or SFTP server or a local FILE.\n" " Ranges can be specified in a number of ways.\n" "\n" " 0-499 specifies the first 500 bytes\n" "\n" " 500-999 specifies the second 500 bytes\n" "\n" " -500 specifies the last 500 bytes\n" "\n" " 9500- specifies the bytes from offset 9500 and forward\n" "\n" , stdout); fputs( " 0-0,-1 specifies the first and last byte only(*)(HTTP)\n" "\n" " 100-199,500-599\n" " specifies two separate 100-byte ranges(*) (HTTP)\n" "\n" " (*) = NOTE that this will cause the server to reply with a mul-\n" " tipart response!\n" "\n" " Only digit characters (0-9) are valid in the 'start' and 'stop'\n" " fields of the 'start-stop' range syntax. If a non-digit charac-\n" , stdout); fputs( " ter is given in the range, the server's response will be unspec-\n" " ified, depending on the server's configuration.\n" "\n" " You should also be aware that many HTTP/1.1 servers do not have\n" " this feature enabled, so that when you attempt to get a range,\n" " you'll instead get the whole document.\n" "\n" " FTP and SFTP range downloads only support the simple 'start-\n" , stdout); fputs( " stop' syntax (optionally with one of the numbers omitted). FTP\n" " use depends on the extended FTP command SIZE.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --raw (HTTP) When used, it disables all internal HTTP decoding of con-\n" " tent or transfer encodings and instead makes them passed on un-\n" " altered, raw.\n" "\n" " Added in 7.16.2.\n" "\n" " -e, --referer <URL>\n" , stdout); fputs( " (HTTP) Sends the \"Referrer Page\" information to the HTTP server.\n" " This can also be set with the -H, --header flag of course. When\n" " used with -L, --location you can append \";auto\" to the -e,\n" " --referer URL to make curl automatically set the previous URL\n" " when it follows a Location: header. The \";auto\" string can be\n" " used alone, even if you don't set an initial -e, --referer.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" "\n" " See also -A, --user-agent and -H, --header.\n" "\n" " -J, --remote-header-name\n" " (HTTP) This option tells the -O, --remote-name option to use the\n" " server-specified Content-Disposition filename instead of ex-\n" " tracting a filename from the URL.\n" "\n" " If the server specifies a file name and a file with that name\n" , stdout); fputs( " already exists in the current working directory it will not be\n" " overwritten and an error will occur. If the server doesn't spec-\n" " ify a file name then this option has no effect.\n" "\n" " There's no attempt to decode %-sequences (yet) in the provided\n" " file name, so this option may provide you with rather unexpected\n" " file names.\n" "\n" " WARNING: Exercise judicious use of this option, especially on\n" , stdout); fputs( " Windows. A rogue server could send you the name of a DLL or\n" " other file that could possibly be loaded automatically by Win-\n" " dows or some third party software.\n" "\n" " --remote-name-all\n" " This option changes the default action for all given URLs to be\n" " dealt with as if -O, --remote-name were used for each one. So if\n" " you want to disable that for a specific URL after --remote-name-\n" , stdout); fputs( " all has been used, you must use \"-o -\" or --no-remote-name.\n" "\n" " Added in 7.19.0.\n" "\n" " -O, --remote-name\n" " Write output to a local file named like the remote file we get.\n" " (Only the file part of the remote file is used, the path is cut\n" " off.)\n" "\n" " The file will be saved in the current working directory. If you\n" " want the file saved in a different directory, make sure you\n" , stdout); fputs( " change the current working directory before invoking curl with\n" " this option.\n" "\n" " The remote file name to use for saving is extracted from the\n" " given URL, nothing else, and if it already exists it will be\n" " overwritten. If you want the server to be able to choose the\n" " file name refer to -J, --remote-header-name which can be used in\n" , stdout); fputs( " addition to this option. If the server chooses a file name and\n" " that name already exists it will not be overwritten.\n" "\n" " There is no URL decoding done on the file name. If it has %20 or\n" " other URL encoded parts of the name, they will end up as-is as\n" " file name.\n" "\n" " You may use this option as many times as the number of URLs you\n" " have.\n" "\n" " -R, --remote-time\n" , stdout); fputs( " When used, this will make curl attempt to figure out the time-\n" " stamp of the remote file, and if that is available make the lo-\n" " cal file get that same timestamp.\n" "\n" " --request-target\n" " (HTTP) Tells curl to use an alternative \"target\" (path) instead\n" " of using the path as provided in the URL. Particularly useful\n" " when wanting to issue HTTP requests without leading slash or\n" , stdout); fputs( " other data that doesn't follow the regular URL pattern, like\n" " \"OPTIONS *\".\n" "\n" " Added in 7.55.0.\n" "\n" " -X, --request <command>\n" " (HTTP) Specifies a custom request method to use when communicat-\n" " ing with the HTTP server. The specified request method will be\n" " used instead of the method otherwise used (which defaults to\n" " GET). Read the HTTP 1.1 specification for details and explana-\n" , stdout); fputs( " tions. Common additional HTTP requests include PUT and DELETE,\n" " but related technologies like WebDAV offers PROPFIND, COPY, MOVE\n" " and more.\n" "\n" " Normally you don't need this option. All sorts of GET, HEAD,\n" " POST and PUT requests are rather invoked by using dedicated com-\n" " mand line options.\n" "\n" " This option only changes the actual word used in the HTTP re-\n" , stdout); fputs( " quest, it does not alter the way curl behaves. So for example if\n" " you want to make a proper HEAD request, using -X HEAD will not\n" " suffice. You need to use the -I, --head option.\n" "\n" " The method string you set with -X, --request will be used for\n" " all requests, which if you for example use -L, --location may\n" " cause unintended side-effects when curl doesn't change request\n" , stdout); fputs( " method according to the HTTP 30x response codes - and similar.\n" "\n" " (FTP) Specifies a custom FTP command to use instead of LIST when\n" " doing file lists with FTP.\n" "\n" " (POP3) Specifies a custom POP3 command to use instead of LIST or\n" " RETR. (Added in 7.26.0)\n" "\n" " (IMAP) Specifies a custom IMAP command to use instead of LIST.\n" " (Added in 7.30.0)\n" "\n" , stdout); fputs( " (SMTP) Specifies a custom SMTP command to use instead of HELP or\n" " VRFY. (Added in 7.34.0)\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --resolve <host:port:address[,address]...>\n" " Provide a custom address for a specific host and port pair. Us-\n" " ing this, you can make the curl requests(s) use a specified ad-\n" " dress and prevent the otherwise normally resolved address to be\n" , stdout); fputs( " used. Consider it a sort of /etc/hosts alternative provided on\n" " the command line. The port number should be the number used for\n" " the specific protocol the host will be used for. It means you\n" " need several entries if you want to provide address for the same\n" " host but different ports.\n" "\n" " By specifying '*' as host you can tell curl to resolve any host\n" , stdout); fputs( " and specific port pair to the specified address. Wildcard is re-\n" " solved last so any --resolve with a specific host and port will\n" " be used first.\n" "\n" " The provided address set by this option will be used even if -4,\n" " --ipv4 or -6, --ipv6 is set to make curl use another IP version.\n" " Support for providing the IP address within [brackets] was added\n" " in 7.57.0.\n" "\n" , stdout); fputs( " Support for providing multiple IP addresses per entry was added\n" " in 7.59.0.\n" "\n" " Support for resolving with wildcard was added in 7.64.0.\n" "\n" " This option can be used many times to add many host names to re-\n" " solve.\n" "\n" " Added in 7.21.3.\n" "\n" " --retry-connrefused\n" " In addition to the other conditions, consider ECONNREFUSED as a\n" " transient error too for --retry. This option is used together\n" , stdout); fputs( " with --retry.\n" "\n" " Added in 7.52.0.\n" "\n" " --retry-delay <seconds>\n" " Make curl sleep this amount of time before each retry when a\n" " transfer has failed with a transient error (it changes the de-\n" " fault backoff time algorithm between retries). This option is\n" " only interesting if --retry is also used. Setting this delay to\n" " zero will make curl use the default backoff time.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.12.3.\n" "\n" " --retry-max-time <seconds>\n" " The retry timer is reset before the first transfer attempt. Re-\n" " tries will be done as usual (see --retry) as long as the timer\n" " hasn't reached this given limit. Notice that if the timer hasn't\n" " reached the limit, the request will be made and while perform-\n" , stdout); fputs( " ing, it may take longer than this given time period. To limit a\n" " single request's maximum time, use -m, --max-time. Set this op-\n" " tion to zero to not timeout retries.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.12.3.\n" "\n" " --retry <num>\n" " If a transient error is returned when curl tries to perform a\n" , stdout); fputs( " transfer, it will retry this number of times before giving up.\n" " Setting the number to 0 makes curl do no retries (which is the\n" " default). Transient error means either: a timeout, an FTP 4xx\n" " response code or an HTTP 408 or 5xx response code.\n" "\n" " When curl is about to retry a transfer, it will first wait one\n" " second and then for all forthcoming retries it will double the\n" , stdout); fputs( " waiting time until it reaches 10 minutes which then will be the\n" " delay between the rest of the retries. By using --retry-delay\n" " you disable this exponential backoff algorithm. See also\n" " --retry-max-time to limit the total time allowed for retries.\n" "\n" " Since curl 7.66.0, curl will comply with the Retry-After: re-\n" " sponse header if one was present to know when to issue the next\n" " retry.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.12.3.\n" "\n" " --sasl-authzid\n" " Use this authorisation identity (authzid), during SASL PLAIN au-\n" " thentication, in addition to the authentication identity (auth-\n" " cid) as specified by -u, --user.\n" "\n" " If the option isn't specified, the server will derive the au-\n" " thzid from the authcid, but if specified, and depending on the\n" , stdout); fputs( " server implementation, it may be used to access another user's\n" " inbox, that the user has been granted access to, or a shared\n" " mailbox for example.\n" "\n" " Added in 7.66.0.\n" "\n" " --sasl-ir\n" " Enable initial response in SASL authentication.\n" "\n" " Added in 7.31.0.\n" "\n" " --service-name <name>\n" " This option allows you to change the service name for SPNEGO.\n" "\n" , stdout); fputs( " Examples: --negotiate --service-name sockd would use\n" " sockd/server-name.\n" "\n" " Added in 7.43.0.\n" " -S, --show-error\n" " When used with -s, --silent, it makes curl show an error message\n" " if it fails.\n" " -s, --silent\n" " Silent or quiet mode. Don't show progress meter or error mes-\n" " sages. Makes Curl mute. It will still output the data you ask\n" , stdout); fputs( " for, potentially even to the terminal/stdout unless you redirect\n" " it.\n" "\n" " Use -S, --show-error in addition to this option to disable\n" " progress meter but still show error messages.\n" "\n" " See also -v, --verbose and --stderr.\n" "\n" " --socks4 <host[:port]>\n" " Use the specified SOCKS4 proxy. If the port number is not speci-\n" " fied, it is assumed at port 1080.\n" "\n" , stdout); fputs( " This option overrides any previous use of -x, --proxy, as they\n" " are mutually exclusive.\n" "\n" " Since 7.21.7, this option is superfluous since you can specify a\n" " socks4 proxy with -x, --proxy using a socks4:// protocol prefix.\n" " Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n" " the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n" , stdout); fputs( " such a case curl first connects to the SOCKS proxy and then con-\n" " nects (through SOCKS) to the HTTP or HTTPS proxy.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.15.2.\n" "\n" " --socks4a <host[:port]>\n" " Use the specified SOCKS4a proxy. If the port number is not spec-\n" " ified, it is assumed at port 1080.\n" "\n" " This option overrides any previous use of -x, --proxy, as they\n" , stdout); fputs( " are mutually exclusive.\n" "\n" " Since 7.21.7, this option is superfluous since you can specify a\n" " socks4a proxy with -x, --proxy using a socks4a:// protocol pre-\n" " fix.\n" "\n" " Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n" " the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n" " such a case curl first connects to the SOCKS proxy and then con-\n" , stdout); fputs( " nects (through SOCKS) to the HTTP or HTTPS proxy.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.18.0.\n" "\n" " --socks5-basic\n" " Tells curl to use username/password authentication when connect-\n" " ing to a SOCKS5 proxy. The username/password authentication is\n" " enabled by default. Use --socks5-gssapi to force GSS-API au-\n" " thentication to SOCKS5 proxies.\n" "\n" , stdout); fputs( " Added in 7.55.0.\n" "\n" " --socks5-gssapi-nec\n" " As part of the GSS-API negotiation a protection mode is negoti-\n" " ated. RFC 1961 says in section 4.3/4.4 it should be protected,\n" " but the NEC reference implementation does not. The option\n" " --socks5-gssapi-nec allows the unprotected exchange of the pro-\n" " tection mode negotiation.\n" "\n" " Added in 7.19.4.\n" "\n" " --socks5-gssapi-service <name>\n" , stdout); fputs( " The default service name for a socks server is rcmd/server-fqdn.\n" " This option allows you to change it.\n" "\n" " Examples: --socks5 proxy-name --socks5-gssapi-service sockd\n" " would use sockd/proxy-name --socks5 proxy-name --socks5-gssapi-\n" " service sockd/real-name would use sockd/real-name for cases\n" " where the proxy-name does not match the principal name.\n" "\n" " Added in 7.19.4.\n" "\n" " --socks5-gssapi\n" , stdout); fputs( " Tells curl to use GSS-API authentication when connecting to a\n" " SOCKS5 proxy. The GSS-API authentication is enabled by default\n" " (if curl is compiled with GSS-API support). Use --socks5-basic\n" " to force username/password authentication to SOCKS5 proxies.\n" "\n" " Added in 7.55.0.\n" "\n" " --socks5-hostname <host[:port]>\n" " Use the specified SOCKS5 proxy (and let the proxy resolve the\n" , stdout); fputs( " host name). If the port number is not specified, it is assumed\n" " at port 1080.\n" "\n" " This option overrides any previous use of -x, --proxy, as they\n" " are mutually exclusive.\n" "\n" " Since 7.21.7, this option is superfluous since you can specify a\n" " socks5 hostname proxy with -x, --proxy using a socks5h:// proto-\n" " col prefix.\n" "\n" " Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n" , stdout); fputs( " the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n" " such a case curl first connects to the SOCKS proxy and then con-\n" " nects (through SOCKS) to the HTTP or HTTPS proxy.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.18.0.\n" "\n" " --socks5 <host[:port]>\n" " Use the specified SOCKS5 proxy - but resolve the host name lo-\n" , stdout); fputs( " cally. If the port number is not specified, it is assumed at\n" " port 1080.\n" "\n" " This option overrides any previous use of -x, --proxy, as they\n" " are mutually exclusive.\n" "\n" " Since 7.21.7, this option is superfluous since you can specify a\n" " socks5 proxy with -x, --proxy using a socks5:// protocol prefix.\n" " Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n" , stdout); fputs( " the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n" " such a case curl first connects to the SOCKS proxy and then con-\n" " nects (through SOCKS) to the HTTP or HTTPS proxy.\n" "\n" " If this option is used several times, the last one will be used.\n" " This option (as well as --socks4) does not work with IPV6, FTPS\n" " or LDAP.\n" "\n" " Added in 7.18.0.\n" "\n" " -Y, --speed-limit <speed>\n" , stdout); fputs( " If a download is slower than this given speed (in bytes per sec-\n" " ond) for speed-time seconds it gets aborted. speed-time is set\n" " with -y, --speed-time and is 30 if not set.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " -y, --speed-time <seconds>\n" " If a download is slower than speed-limit bytes per second during\n" " a speed-time period, the download gets aborted. If speed-time is\n" , stdout); fputs( " used, the default speed-limit will be 1 unless set with -Y,\n" " --speed-limit.\n" "\n" " This option controls transfers and thus will not affect slow\n" " connects etc. If this is a concern for you, try the --connect-\n" " timeout option.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --ssl-allow-beast\n" " This option tells curl to not work around a security flaw in the\n" , stdout); fputs( " SSL3 and TLS1.0 protocols known as BEAST. If this option isn't\n" " used, the SSL layer may use workarounds known to cause interop-\n" " erability problems with some older SSL implementations. WARNING:\n" " this option loosens the SSL security, and by using this flag you\n" " ask for exactly that.\n" "\n" " Added in 7.25.0.\n" "\n" " --ssl-no-revoke\n" |
︙ | ︙ | |||
3319 3320 3321 3322 3323 3324 3325 | " This option was formerly known as --ftp-ssl-reqd.\n" "\n" " Added in 7.20.0.\n" "\n" , stdout); fputs( " --ssl (FTP IMAP POP3 SMTP) Try to use SSL/TLS for the connection. Re-\n" | | | | | | | | | | | | | | | | | | | | | | | | 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 | " This option was formerly known as --ftp-ssl-reqd.\n" "\n" " Added in 7.20.0.\n" "\n" , stdout); fputs( " --ssl (FTP IMAP POP3 SMTP) Try to use SSL/TLS for the connection. Re-\n" " verts to a non-secure connection if the server doesn't support\n" " SSL/TLS. See also --ftp-ssl-control and --ssl-reqd for differ-\n" " ent levels of encryption required.\n" "\n" " This option was formerly known as --ftp-ssl (Added in 7.11.0).\n" " That option name can still be used but will be removed in a fu-\n" " ture version.\n" "\n" , stdout); fputs( " Added in 7.20.0.\n" "\n" " -2, --sslv2\n" " (SSL) Forces curl to use SSL version 2 when negotiating with a\n" " remote SSL server. Sometimes curl is built without SSLv2 sup-\n" " port. SSLv2 is widely considered insecure (see RFC 6176).\n" "\n" " See also --http1.1 and --http2. -2, --sslv2 requires that the\n" " underlying libcurl was built to support TLS. This option over-\n" , stdout); fputs( " rides -3, --sslv3 and -1, --tlsv1 and --tlsv1.1 and --tlsv1.2.\n" "\n" " -3, --sslv3\n" " (SSL) Forces curl to use SSL version 3 when negotiating with a\n" " remote SSL server. Sometimes curl is built without SSLv3 sup-\n" " port. SSLv3 is widely considered insecure (see RFC 7568).\n" "\n" " See also --http1.1 and --http2. -3, --sslv3 requires that the\n" " underlying libcurl was built to support TLS. This option over-\n" , stdout); fputs( " rides -2, --sslv2 and -1, --tlsv1 and --tlsv1.1 and --tlsv1.2.\n" "\n" " --stderr\n" " Redirect all writes to stderr to the specified file instead. If\n" " the file name is a plain '-', it is instead written to stdout.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " See also -v, --verbose and -s, --silent.\n" "\n" " --styled-output\n" " Enables the automatic use of bold font styles when writing HTTP\n" , stdout); fputs( " headers to the terminal. Use --no-styled-output to switch them\n" " off.\n" "\n" " Added in 7.61.0.\n" "\n" " --suppress-connect-headers\n" " When -p, --proxytunnel is used and a CONNECT request is made\n" " don't output proxy CONNECT response headers. This option is\n" " meant to be used with -D, --dump-header or -i, --include which\n" " are used to show protocol headers in the output. It has no ef-\n" , stdout); fputs( " fect on debug options such as -v, --verbose or --trace, or any\n" " statistics.\n" "\n" " See also -D, --dump-header and -i, --include and -p, --proxytun-\n" " nel.\n" "\n" " --tcp-fastopen\n" " Enable use of TCP Fast Open (RFC7413).\n" "\n" " Added in 7.49.0.\n" "\n" " --tcp-nodelay\n" " Turn on the TCP_NODELAY option. See the curl_easy_setopt(3) man\n" " page for details about this option.\n" "\n" , stdout); fputs( " Since 7.50.2, curl sets this option by default and you need to\n" " explicitly switch it off if you don't want it on.\n" "\n" " Added in 7.11.2.\n" "\n" " -t, --telnet-option <opt=val>\n" " Pass options to the telnet protocol. Supported options are:\n" "\n" |
︙ | ︙ | |||
3424 3425 3426 3427 3428 3429 3430 | " Added in 7.20.0.\n" "\n" " --tftp-no-options\n" " (TFTP) Tells curl not to send TFTP options requests.\n" "\n" , stdout); fputs( | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 | " Added in 7.20.0.\n" "\n" " --tftp-no-options\n" " (TFTP) Tells curl not to send TFTP options requests.\n" "\n" , stdout); fputs( " This option improves interop with some legacy servers that do\n" " not acknowledge or properly implement TFTP options. When this\n" " option is used --tftp-blksize is ignored.\n" "\n" " Added in 7.48.0.\n" "\n" " -z, --time-cond <time>\n" " (HTTP FTP) Request a file that has been modified later than the\n" " given time and date, or one that has been modified before that\n" , stdout); fputs( " time. The <date expression> can be all sorts of date strings or\n" " if it doesn't match any internal ones, it is taken as a filename\n" " and tries to get the modification date (mtime) from <file> in-\n" " stead. See the curl_getdate(3) man pages for date expression de-\n" " tails.\n" "\n" " Start the date expression with a dash (-) to make it request for\n" " a document that is older than the given date/time, default is a\n" , stdout); fputs( " document that is newer than the specified date/time.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --tls-max <VERSION>\n" " (SSL) VERSION defines maximum supported TLS version. The minimum\n" " acceptable version is set by tlsv1.0, tlsv1.1, tlsv1.2 or\n" " tlsv1.3.\n" "\n" " default\n" " Use up to recommended TLS version.\n" "\n" " 1.0 Use up to TLSv1.0.\n" , stdout); fputs( " 1.1 Use up to TLSv1.1.\n" " 1.2 Use up to TLSv1.2.\n" " 1.3 Use up to TLSv1.3.\n" "\n" " See also --tlsv1.0 and --tlsv1.1 and --tlsv1.2 and --tlsv1.3. --tls-max\n" " requires that the underlying libcurl was built to support TLS. Added in\n" " 7.54.0.\n" "\n" " --tls13-ciphers <list of TLS 1.3 ciphersuites>\n" " (TLS) Specifies which cipher suites to use in the connection if\n" , stdout); fputs( " it negotiates TLS 1.3. The list of ciphers suites must specify\n" " valid ciphers. Read up on TLS 1.3 cipher suite details on this\n" " URL:\n" "\n" " https://curl.haxx.se/docs/ssl-ciphers.html\n" "\n" " This option is currently used only when curl is built to use\n" " OpenSSL 1.1.1 or later. If you are using a different SSL backend\n" " you can try setting TLS 1.3 cipher suites by using the --ciphers\n" " option.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" "\n" " --tlsauthtype <type>\n" " Set TLS authentication type. Currently, the only supported op-\n" " tion is \"SRP\", for TLS-SRP (RFC 5054). If --tlsuser and\n" " --tlspassword are specified but --tlsauthtype is not, then this\n" " option defaults to \"SRP\". This option works only if the under-\n" , stdout); fputs( " lying libcurl is built with TLS-SRP support, which requires\n" " OpenSSL or GnuTLS with TLS-SRP support.\n" "\n" " Added in 7.21.4.\n" "\n" " --tlspassword\n" " Set password for use with the TLS authentication method speci-\n" " fied with --tlsauthtype. Requires that --tlsuser also be set.\n" "\n" " Added in 7.21.4.\n" " --tlsuser <name>\n" " Set username for use with the TLS authentication method speci-\n" , stdout); fputs( " fied with --tlsauthtype. Requires that --tlspassword also is\n" " set.\n" "\n" " Added in 7.21.4.\n" "\n" " --tlsv1.0\n" " (TLS) Forces curl to use TLS version 1.0 or later when connect-\n" " ing to a remote TLS server.\n" "\n" " In old versions of curl this option was documented to allow\n" " _only_ TLS 1.0, but behavior was inconsistent depending on the\n" , stdout); fputs( " TLS library. Use --tls-max if you want to set a maximum TLS ver-\n" " sion.\n" "\n" " Added in 7.34.0.\n" "\n" " --tlsv1.1\n" " (TLS) Forces curl to use TLS version 1.1 or later when connect-\n" " ing to a remote TLS server.\n" "\n" " In old versions of curl this option was documented to allow\n" " _only_ TLS 1.1, but behavior was inconsistent depending on the\n" , stdout); fputs( " TLS library. Use --tls-max if you want to set a maximum TLS ver-\n" " sion.\n" "\n" " Added in 7.34.0.\n" "\n" " --tlsv1.2\n" " (TLS) Forces curl to use TLS version 1.2 or later when connect-\n" " ing to a remote TLS server.\n" "\n" " In old versions of curl this option was documented to allow\n" " _only_ TLS 1.2, but behavior was inconsistent depending on the\n" , stdout); fputs( " TLS library. Use --tls-max if you want to set a maximum TLS ver-\n" " sion.\n" "\n" " Added in 7.34.0.\n" "\n" " --tlsv1.3\n" " (TLS) Forces curl to use TLS version 1.3 or later when connect-\n" " ing to a remote TLS server.\n" "\n" " Note that TLS 1.3 is only supported by a subset of TLS backends.\n" " At the time of this writing, they are BoringSSL, NSS, and Secure\n" , stdout); fputs( " Transport (on iOS 11 or later, and macOS 10.13 or later).\n" "\n" " Added in 7.52.0.\n" "\n" " -1, --tlsv1\n" " (SSL) Tells curl to use at least TLS version 1.x when negotiat-\n" " ing with a remote TLS server. That means TLS version 1.0 or\n" " higher\n" "\n" " See also --http1.1 and --http2. -1, --tlsv1 requires that the\n" " underlying libcurl was built to support TLS. This option over-\n" , stdout); fputs( " rides --tlsv1.1 and --tlsv1.2 and --tlsv1.3.\n" "\n" " --tr-encoding\n" " (HTTP) Request a compressed Transfer-Encoding response using one\n" " of the algorithms curl supports, and uncompress the data while\n" " receiving it.\n" "\n" " Added in 7.21.6.\n" "\n" " --trace-ascii <file>\n" " Enables a full trace dump of all incoming and outgoing data, in-\n" " cluding descriptive information, to the given output file. Use\n" , stdout); fputs( " \"-\" as filename to have the output sent to stdout.\n" "\n" " This is very similar to --trace, but leaves out the hex part and\n" " only shows the ASCII part of the dump. It makes smaller output\n" " that might be easier to read for untrained humans.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " This option overrides --trace and -v, --verbose.\n" "\n" " --trace-time\n" , stdout); fputs( " Prepends a time stamp to each trace or verbose line that curl\n" " displays.\n" "\n" " Added in 7.14.0.\n" "\n" " --trace <file>\n" " Enables a full trace dump of all incoming and outgoing data, in-\n" " cluding descriptive information, to the given output file. Use\n" " \"-\" as filename to have the output sent to stdout. Use \"%\" as\n" " filename to have the output sent to stderr.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" "\n" " This option overrides -v, --verbose and --trace-ascii.\n" "\n" " --unix-socket <path>\n" " (HTTP) Connect through this Unix domain socket, instead of using\n" " the network.\n" "\n" " Added in 7.40.0.\n" "\n" " -T, --upload-file <file>\n" " This transfers the specified local file to the remote URL. If\n" , stdout); fputs( " there is no file part in the specified URL, curl will append the\n" " local file name. NOTE that you must use a trailing / on the last\n" " directory to really prove to Curl that there is no file name or\n" " curl will think that your last directory name is the remote file\n" " name to use. That will most likely cause the upload operation to\n" " fail. If this is used on an HTTP(S) server, the PUT command will\n" " be used.\n" "\n" , stdout); fputs( " Use the file name \"-\" (a single dash) to use stdin instead of a\n" " given file. Alternately, the file name \".\" (a single period)\n" " may be specified instead of \"-\" to use stdin in non-blocking\n" " mode to allow reading server output while stdin is being up-\n" " loaded.\n" "\n" " You can specify one -T, --upload-file for each URL on the com-\n" " mand line. Each -T, --upload-file + URL pair specifies what to\n" , stdout); fputs( " upload and to where. curl also supports \"globbing\" of the -T,\n" " --upload-file argument, meaning that you can upload multiple\n" " files to a single URL by using the same URL globbing style sup-\n" " ported in the URL, like this:\n" "\n" " curl --upload-file \"{file1,file2}\" http://www.example.com\n" "\n" " or even\n" "\n" " curl -T \"img[1-1000].png\" ftp://ftp.example.com/upload/\n" "\n" , stdout); fputs( " When uploading to an SMTP server: the uploaded data is assumed\n" " to be RFC 5322 formatted. It has to feature the necessary set of\n" " headers and mail body formatted correctly by the user as curl\n" " will not transcode nor encode it further in any way.\n" "\n" " --url <url>\n" " Specify a URL to fetch. This option is mostly handy when you\n" " want to specify URL(s) in a config file.\n" "\n" , stdout); fputs( " If the given URL is missing a scheme name (such as \"http://\" or\n" " \"ftp://\" etc) then curl will make a guess based on the host. If\n" " the outermost sub-domain name matches DICT, FTP, IMAP, LDAP,\n" " POP3 or SMTP then that protocol will be used, otherwise HTTP\n" " will be used. Since 7.45.0 guessing can be disabled by setting a\n" " default protocol, see --proto-default for details.\n" "\n" , stdout); fputs( " This option may be used any number of times. To control where\n" " this URL is written, use the -o, --output or the -O, --remote-\n" " name options.\n" "\n" " -B, --use-ascii\n" " (FTP LDAP) Enable ASCII transfer. For FTP, this can also be en-\n" " forced by using a URL that ends with \";type=A\". This option\n" " causes data sent to stdout to be in text mode for win32 systems.\n" "\n" " -A, --user-agent <name>\n" , stdout); fputs( " (HTTP) Specify the User-Agent string to send to the HTTP server.\n" " To encode blanks in the string, surround the string with single\n" " quote marks. This header can also be set with the -H, --header\n" " or the --proxy-header options.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " -u, --user <user:password>\n" " Specify the user name and password to use for server authentica-\n" , stdout); fputs( " tion. Overrides -n, --netrc and --netrc-optional.\n" "\n" " If you simply specify the user name, curl will prompt for a\n" " password.\n" "\n" " The user name and passwords are split up on the first colon,\n" " which makes it impossible to use a colon in the user name with\n" " this option. The password can, still.\n" "\n" " On systems where it works, curl will hide the given option argu-\n" , stdout); fputs( " ment from process listings. This is not enough to protect cre-\n" " dentials from possibly getting seen by other users on the same\n" " system as they will still be visible for a brief moment before\n" " cleared. Such sensitive data should be retrieved from a file in-\n" " stead or similar and never used in clear text in a command line.\n" " When using Kerberos V5 with a Windows based server you should\n" , stdout); fputs( " include the Windows domain name in the user name, in order for\n" " the server to successfully obtain a Kerberos Ticket. If you\n" " don't then the initial authentication handshake may fail.\n" "\n" " When using NTLM, the user name can be specified simply as the\n" " user name, without the domain, if there is a single domain and\n" " forest in your setup for example.\n" "\n" , stdout); fputs( " To specify the domain name use either Down-Level Logon Name or\n" " UPN (User Principal Name) formats. For example, EXAMPLE\\user and\n" " user@example.com respectively.\n" "\n" " If you use a Windows SSPI-enabled curl binary and perform Ker-\n" " beros V5, Negotiate, NTLM or Digest authentication then you can\n" " tell curl to select the user name and password from your envi-\n" , stdout); fputs( " ronment by specifying a single colon with this option: \"-u :\".\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " -v, --verbose\n" " Makes curl verbose during the operation. Useful for debugging\n" " and seeing what's going on \"under the hood\". A line starting\n" " with '>' means \"header data\" sent by curl, '<' means \"header\n" " data\" received by curl that is hidden in normal cases, and a\n" , stdout); fputs( " line starting with '*' means additional info provided by curl.\n" "\n" " If you only want HTTP headers in the output, -i, --include might\n" " be the option you're looking for.\n" "\n" " If you think this option still doesn't give you enough details,\n" " consider using --trace or --trace-ascii instead.\n" "\n" " Use -s, --silent to make curl really quiet.\n" "\n" " See also -i, --include. This option overrides --trace and\n" , stdout); fputs( " --trace-ascii.\n" "\n" " -V, --version\n" " Displays information about curl and the libcurl version it uses.\n" " The first line includes the full version of curl, libcurl and\n" " other 3rd party libraries linked with the executable.\n" "\n" " The second line (starts with \"Protocols:\") shows all protocols\n" " that libcurl reports to support.\n" "\n" " The third line (starts with \"Features:\") shows specific features\n" , stdout); fputs( " libcurl reports to offer. Available features include:\n" "\n" " IPv6 You can use IPv6 with this.\n" "\n" " krb4 Krb4 for FTP is supported.\n" "\n" " SSL SSL versions of various protocols are supported, such as\n" " HTTPS, FTPS, POP3S and so on.\n" "\n" " libz Automatic decompression of compressed files over HTTP is\n" " supported.\n" "\n" " NTLM NTLM authentication is supported.\n" "\n" , stdout); fputs( " Debug This curl uses a libcurl built with Debug. This enables\n" " more error-tracking and memory debugging etc. For curl-\n" " developers only!\n" "\n" " AsynchDNS\n" " This curl uses asynchronous name resolves. Asynchronous\n" " name resolves can be done using either the c-ares or the\n" " threaded resolver backends.\n" "\n" " SPNEGO SPNEGO authentication is supported.\n" "\n" , stdout); fputs( " Largefile\n" " This curl supports transfers of large files, files larger\n" " than 2GB.\n" "\n" " IDN This curl supports IDN - international domain names.\n" "\n" " GSS-API\n" " GSS-API is supported.\n" "\n" " SSPI SSPI is supported.\n" "\n" " TLS-SRP\n" " SRP (Secure Remote Password) authentication is supported\n" " for TLS.\n" "\n" , stdout); fputs( " HTTP2 HTTP/2 support has been built-in.\n" "\n" " UnixSockets\n" " Unix sockets support is provided.\n" "\n" " HTTPS-proxy\n" " This curl is built to support HTTPS proxy.\n" "\n" " Metalink\n" " This curl supports Metalink (both version 3 and 4 (RFC\n" " 5854)), which describes mirrors and hashes. curl will\n" " use mirrors for failover if there are errors (such as the\n" , stdout); fputs( " file or server not being available).\n" "\n" " PSL PSL is short for Public Suffix List and means that this\n" " curl has been built with knowledge about \"public suf-\n" " fixes\".\n" "\n" " MultiSSL\n" " This curl supports multiple TLS backends.\n" "\n" " -w, --write-out <format>\n" " Make curl display information on stdout after a completed trans-\n" , stdout); fputs( " fer. The format is a string that may contain plain text mixed\n" " with any number of variables. The format can be specified as a\n" " literal \"string\", or you can have curl read the format from a\n" " file with \"@filename\" and to tell curl to read the format from\n" " stdin you write \"@-\".\n" "\n" " The variables present in the output format will be substituted\n" , stdout); fputs( " by the value or text that curl thinks fit, as described below.\n" " All variables are specified as %{variable_name} and to output a\n" " normal % you just write them as %%. You can output a newline by\n" " using \\n, a carriage return with \\r and a tab space with \\t.\n" "\n" " The output will be written to standard output, but this can be\n" " switched to standard error by using %{stderr}.\n" "\n" , stdout); fputs( " NOTE: The %-symbol is a special symbol in the win32-environment,\n" " where all occurrences of % must be doubled when using this op-\n" " tion.\n" "\n" " The variables available are:\n" "\n" " content_type The Content-Type of the requested document, if\n" " there was any.\n" "\n" " filename_effective\n" " The ultimate filename that curl writes out to.\n" , stdout); fputs( " This is only meaningful if curl is told to write\n" " to a file with the -O, --remote-name or -o,\n" " --output option. It's most useful in combination\n" " with the -J, --remote-header-name option. (Added\n" " in 7.26.0)\n" "\n" " ftp_entry_path The initial path curl ended up in when logging on\n" , stdout); fputs( " to the remote FTP server. (Added in 7.15.4)\n" "\n" " http_code The numerical response code that was found in the\n" " last retrieved HTTP(S) or FTP(s) transfer. In\n" " 7.18.2 the alias response_code was added to show\n" " the same info.\n" "\n" " http_connect The numerical code that was found in the last re-\n" , stdout); fputs( " sponse (from a proxy) to a curl CONNECT request.\n" " (Added in 7.12.4)\n" "\n" " http_version The http version that was effectively used.\n" " (Added in 7.50.0)\n" "\n" " local_ip The IP address of the local end of the most re-\n" " cently done connection - can be either IPv4 or\n" " IPv6 (Added in 7.29.0)\n" "\n" , stdout); fputs( " local_port The local port number of the most recently done\n" " connection (Added in 7.29.0)\n" "\n" " num_connects Number of new connects made in the recent trans-\n" " fer. (Added in 7.12.3)\n" "\n" " num_redirects Number of redirects that were followed in the re-\n" " quest. (Added in 7.12.3)\n" "\n" " proxy_ssl_verify_result\n" , stdout); fputs( " The result of the HTTPS proxy's SSL peer certifi-\n" " cate verification that was requested. 0 means the\n" " verification was successful. (Added in 7.52.0)\n" "\n" " redirect_url When an HTTP request was made without -L, --loca-\n" " tion to follow redirects (or when --max-redir is\n" " met), this variable will show the actual URL a\n" , stdout); fputs( " redirect would have gone to. (Added in 7.18.2)\n" "\n" " remote_ip The remote IP address of the most recently done\n" " connection - can be either IPv4 or IPv6 (Added in\n" " 7.29.0)\n" "\n" " remote_port The remote port number of the most recently done\n" " connection (Added in 7.29.0)\n" "\n" " scheme The URL scheme (sometimes called protocol) that\n" , stdout); fputs( " was effectively used (Added in 7.52.0)\n" "\n" " size_download The total amount of bytes that were downloaded.\n" "\n" " size_header The total amount of bytes of the downloaded head-\n" " ers.\n" "\n" " size_request The total amount of bytes that were sent in the\n" " HTTP request.\n" "\n" " size_upload The total amount of bytes that were uploaded.\n" "\n" , stdout); fputs( " speed_download The average download speed that curl measured for\n" " the complete download. Bytes per second.\n" "\n" " speed_upload The average upload speed that curl measured for\n" " the complete upload. Bytes per second.\n" "\n" " ssl_verify_result\n" " The result of the SSL peer certificate verifica-\n" " tion that was requested. 0 means the verification\n" , stdout); fputs( " was successful. (Added in 7.19.0)\n" "\n" " stderr From this point on, the -w, --write-out output\n" " will be written to standard error. (Added in\n" " 7.63.0)\n" "\n" " stdout From this point on, the -w, --write-out output\n" " will be written to standard output. This is the\n" " default, but can be used to switch back after\n" , stdout); fputs( " switching to stderr. (Added in 7.63.0)\n" "\n" " time_appconnect\n" " The time, in seconds, it took from the start un-\n" " til the SSL/SSH/etc connect/handshake to the re-\n" " mote host was completed. (Added in 7.19.0)\n" "\n" " time_connect The time, in seconds, it took from the start un-\n" " til the TCP connect to the remote host (or proxy)\n" , stdout); fputs( " was completed.\n" "\n" " time_namelookup\n" " The time, in seconds, it took from the start un-\n" " til the name resolving was completed.\n" "\n" " time_pretransfer\n" " The time, in seconds, it took from the start un-\n" " til the file transfer was just about to begin.\n" " This includes all pre-transfer commands and nego-\n" , stdout); fputs( " tiations that are specific to the particular pro-\n" " tocol(s) involved.\n" "\n" " time_redirect The time, in seconds, it took for all redirection\n" " steps including name lookup, connect, pretransfer\n" " and transfer before the final transaction was\n" " started. time_redirect shows the complete execu-\n" , stdout); fputs( " tion time for multiple redirections. (Added in\n" " 7.12.3)\n" "\n" " time_starttransfer\n" " The time, in seconds, it took from the start un-\n" " til the first byte was just about to be trans-\n" " ferred. This includes time_pretransfer and also\n" " the time the server needed to calculate the re-\n" , stdout); fputs( " sult.\n" "\n" " time_total The total time, in seconds, that the full opera-\n" " tion lasted.\n" "\n" " url_effective The URL that was fetched last. This is most mean-\n" " ingful if you've told curl to follow location:\n" " headers.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --xattr\n" , stdout); fputs( " When saving output to a file, this option tells curl to store\n" " certain file metadata in extended file attributes. Currently,\n" " the URL is stored in the xdg.origin.url attribute and, for HTTP,\n" " the content type is stored in the mime_type attribute. If the\n" " file system does not support extended attributes, a warning is\n" " issued.\n" "\n" "FILES\n" " ~/.curlrc\n" , stdout); fputs( " Default config file, see -K, --config for details.\n" "\n" "ENVIRONMENT\n" " The environment variables can be specified in lower case or upper case.\n" " The lower case version has precedence. http_proxy is an exception as it\n" " is only available in lower case.\n" "\n" " Using an environment variable to set the proxy has the same effect as\n" " using the -x, --proxy option.\n" "\n" " http_proxy [protocol://]<host>[:port]\n" " Sets the proxy server to use for HTTP.\n" , stdout); fputs( " HTTPS_PROXY [protocol://]<host>[:port]\n" " Sets the proxy server to use for HTTPS.\n" "\n" " [url-protocol]_PROXY [protocol://]<host>[:port]\n" " Sets the proxy server to use for [url-protocol], where the pro-\n" " tocol is a protocol that curl supports and as specified in a\n" " URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP etc.\n" "\n" " ALL_PROXY [protocol://]<host>[:port]\n" " Sets the proxy server to use if no protocol-specific proxy is\n" , stdout); fputs( " set.\n" "\n" " NO_PROXY <comma-separated list of hosts/domains>\n" " list of host names that shouldn't go through any proxy. If set\n" " to an asterisk '*' only, it matches all hosts. Each name in this\n" " list is matched as either a domain name which contains the host-\n" " name, or the hostname itself.\n" "\n" " This environment variable disables use of the proxy even when\n" , stdout); fputs( " specified with the -x, --proxy option. That is NO_PROXY=di-\n" " rect.example.com curl -x http://proxy.example.com http://di-\n" " rect.example.com accesses the target URL directly, and\n" " NO_PROXY=direct.example.com curl -x http://proxy.example.com\n" " http://somewhere.example.com accesses the target URL through the\n" " proxy.\n" "\n" " The list of host names can also be include numerical IP ad-\n" , stdout); fputs( " dresses, and IPv6 versions should then be given without enclos-\n" " ing brackets.\n" "\n" "PROXY PROTOCOL PREFIXES\n" " Since curl version 7.21.7, the proxy string may be specified with a\n" " protocol:// prefix to specify alternative proxy protocols.\n" "\n" " If no protocol is specified in the proxy string or if the string\n" " doesn't match a supported one, the proxy will be treated as an HTTP\n" " proxy.\n" "\n" , stdout); fputs( " The supported proxy protocol prefixes are as follows:\n" "\n" " http://\n" " Makes it use it as an HTTP proxy. The default if no scheme pre-\n" " fix is used.\n" "\n" " https://\n" " Makes it treated as an HTTPS proxy.\n" "\n" " socks4://\n" " Makes it the equivalent of --socks4\n" "\n" " socks4a://\n" " Makes it the equivalent of --socks4a\n" "\n" " socks5://\n" " Makes it the equivalent of --socks5\n" "\n" " socks5h://\n" , stdout); fputs( " Makes it the equivalent of --socks5-hostname\n" "\n" "EXIT CODES\n" " There are a bunch of different error codes and their corresponding er-\n" " ror messages that may appear during bad conditions. At the time of this\n" " writing, the exit codes are:\n" "\n" " 1 Unsupported protocol. This build of curl has no support for this\n" " protocol.\n" "\n" " 2 Failed to initialize.\n" "\n" " 3 URL malformed. The syntax was not correct.\n" "\n" , stdout); fputs( " 4 A feature or option that was needed to perform the desired re-\n" " quest was not enabled or was explicitly disabled at build-time.\n" " To make curl able to do this, you probably need another build of\n" " libcurl!\n" "\n" " 5 Couldn't resolve proxy. The given proxy host could not be re-\n" " solved.\n" "\n" " 6 Couldn't resolve host. The given remote host was not resolved.\n" "\n" " 7 Failed to connect to host.\n" "\n" , stdout); fputs( " 8 Weird server reply. The server sent data curl couldn't parse.\n" "\n" " 9 FTP access denied. The server denied login or denied access to\n" " the particular resource or directory you wanted to reach. Most\n" " often you tried to change to a directory that doesn't exist on\n" " the server.\n" "\n" " 10 FTP accept failed. While waiting for the server to connect back\n" " when an active FTP session is used, an error code was sent over\n" , stdout); fputs( " the control connection or similar.\n" "\n" " 11 FTP weird PASS reply. Curl couldn't parse the reply sent to the\n" " PASS request.\n" "\n" " 12 During an active FTP session while waiting for the server to\n" " connect back to curl, the timeout expired.\n" "\n" " 13 FTP weird PASV reply, Curl couldn't parse the reply sent to the\n" " PASV request.\n" "\n" " 14 FTP weird 227 format. Curl couldn't parse the 227-line the\n" , stdout); fputs( " server sent.\n" "\n" " 15 FTP can't get host. Couldn't resolve the host IP we got in the\n" " 227-line.\n" "\n" " 16 HTTP/2 error. A problem was detected in the HTTP2 framing layer.\n" " This is somewhat generic and can be one out of several problems,\n" " see the error message for details.\n" "\n" " 17 FTP couldn't set binary. Couldn't change transfer method to bi-\n" " nary.\n" "\n" , stdout); fputs( " 18 Partial file. Only a part of the file was transferred.\n" "\n" " 19 FTP couldn't download/access the given file, the RETR (or simi-\n" " lar) command failed.\n" "\n" " 21 FTP quote error. A quote command returned error from the server.\n" " 22 HTTP page not retrieved. The requested url was not found or re-\n" " turned another error with the HTTP error code being 400 or\n" " above. This return code only appears if -f, --fail is used.\n" "\n" , stdout); fputs( " 23 Write error. Curl couldn't write data to a local filesystem or\n" " similar.\n" "\n" " 25 FTP couldn't STOR file. The server denied the STOR operation,\n" " used for FTP uploading.\n" "\n" " 26 Read error. Various reading problems.\n" "\n" " 27 Out of memory. A memory allocation request failed.\n" "\n" " 28 Operation timeout. The specified time-out period was reached ac-\n" " cording to the conditions.\n" "\n" , stdout); fputs( " 30 FTP PORT failed. The PORT command failed. Not all FTP servers\n" " support the PORT command, try doing a transfer using PASV in-\n" " stead!\n" "\n" " 31 FTP couldn't use REST. The REST command failed. This command is\n" " used for resumed FTP transfers.\n" "\n" " 33 HTTP range error. The range \"command\" didn't work.\n" "\n" " 34 HTTP post error. Internal post-request generation error.\n" "\n" , stdout); fputs( " 35 SSL connect error. The SSL handshaking failed.\n" "\n" " 36 Bad download resume. Couldn't continue an earlier aborted down-\n" " load.\n" "\n" " 37 FILE couldn't read file. Failed to open the file. Permissions?\n" "\n" " 38 LDAP cannot bind. LDAP bind operation failed.\n" "\n" " 39 LDAP search failed.\n" "\n" " 41 Function not found. A required LDAP function was not found.\n" "\n" " 42 Aborted by callback. An application told curl to abort the oper-\n" , stdout); fputs( " ation.\n" "\n" " 43 Internal error. A function was called with a bad parameter.\n" "\n" " 45 Interface error. A specified outgoing interface could not be\n" " used.\n" "\n" " 47 Too many redirects. When following redirects, curl hit the maxi-\n" " mum amount.\n" "\n" " 48 Unknown option specified to libcurl. This indicates that you\n" " passed a weird option to curl that was passed on to libcurl and\n" , stdout); fputs( " rejected. Read up in the manual!\n" "\n" " 49 Malformed telnet option.\n" "\n" " 51 The peer's SSL certificate or SSH MD5 fingerprint was not OK.\n" "\n" " 52 The server didn't reply anything, which here is considered an\n" " error.\n" "\n" " 53 SSL crypto engine not found.\n" "\n" " 54 Cannot set SSL crypto engine as default.\n" "\n" " 55 Failed sending network data.\n" "\n" " 56 Failure in receiving network data.\n" "\n" , stdout); fputs( " 58 Problem with the local certificate.\n" "\n" " 59 Couldn't use specified SSL cipher.\n" "\n" " 60 Peer certificate cannot be authenticated with known CA certifi-\n" " cates.\n" "\n" " 61 Unrecognized transfer encoding.\n" "\n" " 62 Invalid LDAP URL.\n" "\n" " 63 Maximum file size exceeded.\n" "\n" " 64 Requested FTP SSL level failed.\n" "\n" " 65 Sending the data requires a rewind that failed.\n" "\n" " 66 Failed to initialise SSL Engine.\n" "\n" , stdout); fputs( " 67 The user name, password, or similar was not accepted and curl\n" " failed to log in.\n" "\n" " 68 File not found on TFTP server.\n" "\n" " 69 Permission problem on TFTP server.\n" "\n" " 70 Out of disk space on TFTP server.\n" |
︙ | ︙ | |||
4342 4343 4344 4345 4346 4347 4348 | "\n" " 78 The resource referenced in the URL does not exist.\n" "\n" " 79 An unspecified error occurred during the SSH session.\n" "\n" " 80 Failed to shut down the SSL connection.\n" "\n" | | | 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 | "\n" " 78 The resource referenced in the URL does not exist.\n" "\n" " 79 An unspecified error occurred during the SSH session.\n" "\n" " 80 Failed to shut down the SSL connection.\n" "\n" " 82 Could not load CRL file, missing or wrong format (added in\n" " 7.19.0).\n" "\n" " 83 Issuer check failed (added in 7.19.0).\n" "\n" , stdout); fputs( " 84 The FTP PRET command failed\n" |
︙ | ︙ | |||
4373 4374 4375 4376 4377 4378 4379 | "\n" , stdout); fputs( " XX More error codes will appear here in future releases. The exist-\n" " ing ones are meant to never change.\n" "\n" "AUTHORS / CONTRIBUTORS\n" | | | 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 | "\n" , stdout); fputs( " XX More error codes will appear here in future releases. The exist-\n" " ing ones are meant to never change.\n" "\n" "AUTHORS / CONTRIBUTORS\n" " Daniel Stenberg is the main author, but the whole list of contributors\n" " is found in the separate THANKS file.\n" "\n" "WWW\n" " https://curl.haxx.se\n" "\n" "SEE ALSO\n" " ftp(1), wget(1)\n" |
︙ | ︙ | |||
4399 4400 4401 4402 4403 4404 4405 | */ #ifdef USE_MANUAL #include "tool_hugehelp.h" #include <zlib.h> #include "memdebug.h" /* keep this as LAST include */ static const unsigned char hugehelpgz[] = { /* This mumbo-jumbo is the huge help text compressed with gzip. | | | | | > | < | | | | | < | | | | > > | < | | | | > > | > | > | | | < | | < | | | | | | | < | | > | | | < | | > | | | | | | < | | > | | < | < > | | | | | | | | > | | | < | | | | | | | | | | | | > | | | < | | | | | | | | | | | | | | | | | < | < > | > | | | | | | | < | | > | | | | | < | | | | | | | > | > | < > | | | < < | | | | | | > | < | | | > | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | < | < | | | | | > > | | | < > | < < | | | | | | | > | | < | | | | | | | | > | | | | | | | | | | | | | | > | | | | | | < | | | | | | | | | | < | | | | | | | | | | | | | | | | < | | > | | | | | | | | < | | < > | | > > > | > | < | < < < | | | | < | | > | | | | | | | | | | < | | < | > | | | | | | | | | > > | < | < | | | | | | | | | | | | | | > > > > | | | | | | < | < | | | > > | | | | | | | | | < | | > | | | | | | | < | < < | | | | | | | | | | | | | | | | | | < | > | | | | | | | > > > > | | | | | | | < | | > | | | | | < | > | | | | | < | | | | | | < | > | < | > | | < | | | | | | | | | | | | | | | > | | | < | | | | | | | | < | | | | > > | | < > | | | < < | | | > | | < | | | | | | | | | | | | | | < | | | | | | | | | > > | | > > | > > | > | < | < < | < | < < < | | | | | | | | | | | | | | | | > | | > > | | | < < < | | | | | | | | | | | | | | > > > | | < | | < < | | | | | > > | > | > | | | > > | < < < | | > | < < < > | > | | | | | | | | > | < | | | | | | | | | | | | | | | | | < < < < | > | < > > > > | > > | < | < | > | | > > | | | < | | < | > | < < > | < < < < | | | | > > > > | | | | < | | > | | | | < | | | | | | | | | | > | > | < | < | < < | < < | > > | > > | < | > | > | | < > | | | < < > | | | > | < > | < > | < < < | < | | > > > | | | | | | | | > | < | | | | | | | | | | | | | | | | | | > | < | < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > | | | | | | | | | | | > | < | | | < | | > | | < | > | | | | | | < | < < > | | | | | | | | | | | | | < | | | > | | | | | | > | < | | | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > | | < | | | | | | | | | | | | | | | < | > | | | | > | | < | < | | | < > | | | | | | | | | | | | | | | | | | | | | | | | | | | > | < | < < | | | | > | | > | | > | < < | > | | | | | | | < | < | | | | | | | | | | > > | | | < < | | | | | > > | < | > | | < < | | | | | | | | | | | | | > | | | | | | | | | | | | > | < | | | | | | | | | | | | | | | > | | | | | | < | > | | | | | | | | | | | | | | | | | | | < | | | > | | | | | | | | | | | | < | | > | | > | < | | | | | < | | | > | | | < | | | | | | | | | | | | | | | | | < | > | | > | | < | | | | | | | < < | | | | | > | < | | | | | | | | | | < | > | | | | | | | | | | > | > | | | | | | > | | < > | < | | | | | | | | | | | | < | | | > | | | | > > > | | | | < < | > | > | | | | | | | | | | | | < | < | | > > | | | < < < < | | | | | | | | | | | | | | > | < | | | | | > | | < | | | | | | < | < | | | | | | | | | | | | | | | | | | | | | | | | > | > | < > > | < | | | | | | > > | | | | | | < < | | | > | | < | | | > > > | < | < | > | < < < | | | | | | | | | | < | < > | > | > > | | < | | | < | | | > | > | < < | > | | | > | | | < | | | | | | | | | | | | | | | | | | | | | > > | | | < | > | | | < | > | < | | < | < | > | > | | | | | > | | | > > | | < < | < < | | | | | | | | > | < | | | | > | | < | | > | < | | | | | | | | | | | | | | | | | < | > > | | | < | | | | | | | | | | | | > | < | | | > | | | | | > | | > | < > | | < < | | | | | | | | | | | | | | | | | > > | | | | | | | | | | | | | | | < | > | | < | > | | | | | | | | < | < < > | | | | | | | | > | < | | | | | | | | | > | | < | | | | | | | | | | | | | | | | > | | < | | | | > | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | < | | | | | | | | | | | | | | | > | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | < | | | | | | | > | < | | | | | | | | < | > | | | | | | | | | | | | | | < | | > | | < | | | | | > | | | > | | < < | | | | > | < | < | | > | > | < | | | | | > > > | | | | | | | < < | | < < > | < | | < | > | | > > | < > | > | > | | | | | | < | < | > | | | | | | | < | | > | | < | | | | > | | | | | | | | | | | < | | | | | | | | | | | | | | | | | | | < < | < | > | > | > | | > > > | | | | < < < | | | | | | | > > > | | | | | | < | > | < | < < | | | | > > > > | | | | | | | | | | < | | > | | | | | | | | | | | | | | | | | < < | | | < < | > > | | | < | < < > | | | | < > | | | | > > | | | | | | | | | < < | | | | | | > | < | | < | > | | | | | | | | | | | | | | | | | | > > < < | | | > > | | | | | | | | | | | | | | | | | | | | | | | < < < | | > | | | < | | | | | > | | | < | | | < | > | | > | | < | | | | | > | | | | < | > | | | | | | | | | > | < | | > | < | | > | | | < | > > | | < > > | | | < < < | < | < > > | > | | < < < > > | < | > | | < < | > > | > | | > | > > | > | | | | < | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | < | | | | | | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < | < | > | | | | | < | > | | | | | | | | | | | < | > | | < | | > | | | | | > > | | | | < | > | | | | | | | | | | | | | | | | | | | | | | | < < | | | | | < | > | | | | | | | | | | | | > | | < | | | < | > | | > > > > | | | > > | | | | < < | > > | < | < | > > | | | | < < | | | | | | | | > | | > > | | | | | | | | | | | | | | | | | | | | | | | < < | > | < < | < | | | | < | | > | | | | | < < < | | | > | > | > | | | | | | | | | | | | | | | | | | | | | | < | > | | | | < | < > | > | > > | | < < | | | | | | < | | | | | | | | | | | | < | > | | | | | | | | | | | | | | | | > | | | | | < | | | > | | | | | | > > | | < | < | | | | | | | | > | | < | > > | < < | | | | | | | | | | | | | | | | | | | | | | > | | < | > | | | | | | | | | | | | > | | < | | | | | | | | | | | | | | > | | < | > | | | | | | | | | | | | | | | < | | > | > | < | | | | | | > | | | | | | | | | | > | < | | | | | | | | | | | < < | | | > > | | | < | < | | > | | | | | | | | < | | > | | | | | | | | | | | | | | | | < | | | | | | | < | > | > | < | | | | | | | | | | > | | < | | | | > | < < | | | | | | | < < | | > | < > | | > > | > | < | < | | | | | | > | < | | > | | | | > | | < | | | | | | | | | | | | | | | | | | > | < | | | > | | | | | | < | > | | | | | | | | < | | | | > | | < | > | | | | | | | | | | | | | | | < | | > | | | | | | | | | < | > | | | | | | | | | | | | | | | < | > | | | < | | < < | < > | > > | > | | | | | | | | | | | | | | < | > | | | | | | | | | | | | | < | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | < | | | | | | > | | | < < | | > > | | | | | | | | | | | | | | | | | | | | | | | | | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | < > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | > | < < | | | > | < | | | | | | | | > | | | | | | | < | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < | > | > | | | | | | | | | | | | | > | < | | | > | | | | | | | | | | | | | | | | | | | | | | | | | < | < | > > | | | | | | | | | | | | | | | | | | | | | | | | | < | > | | > | < < | < | > | | | | | | < | | > | | > | | > > | | | < < < > | | | < | | | | | | | | | < | | < | | > > | | | | | | | | < < | | < > | > > | | | < | | | > | | < < | | > | | > | < | > | | < | | | | < | < | | > | | | < < | | < < > > | | > | | | < < | | > > | | | | | | | > | > | > | < < < > | | | < | | | | | | > > | | | | | < | > | | | | < | | > | | | < | | | | > | | | | | | | | | < < | | > | | | | > | < < | | | | | | | | | > | > | < < | | | > | < | | | | | | | | | | | | | | > | | < | | | | | | | | | | | | | | | | | | > | | | | | | | | | | | | | | | | | | > | > | | < < | > | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < | | | | | | | | | | | | | < | > | | | | | | | | | > | > | < > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < | > | < | > | | | | | | | | < | > | | | | | | | < < | > | > | | | | > > | | | | | | | | | | > | | < | | < | | | | > | | | | | > | < < < | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | | > | | | | | | | | > > | | | | | < < | | | | < | | | > | | | | | | | | | | | | | < < | > | > | | | | | | | | | | | < | < | | | > > | | | | | | | < < | | | | | | | | | | | > | | < | | | | | | > | > | < > > | | < < | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | < < | < | | | | | | | | | | | | | | | | | | < | > | | | | | | | | > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | < | | | | | | | | | | | | | | | < | | < | > | | | | | > | | < | | | | | | | | | | > > | | < < | | < | > | | | > | | < | | | | | | | | | | | | | | | | | | | | | | | < | > > < < | < | > | > > | | | > | | < | | | | | | | | | | | | | | | | | | > | < | > | | | | | < | > | | | | | | | < < | | > > | | | | < | < > | | | > | | | | | | | < | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | | > | | | | | | < < | > | > | | | | | | > | | | < < | | 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 | */ #ifdef USE_MANUAL #include "tool_hugehelp.h" #include <zlib.h> #include "memdebug.h" /* keep this as LAST include */ static const unsigned char hugehelpgz[] = { /* This mumbo-jumbo is the huge help text compressed with gzip. Thanks to this operation, the size of this data shrank from 170223 to 47691 bytes. You can disable the use of compressed help texts by NOT passing -c to the mkhelp.pl tool. */ 0x1f, 0x8b, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xed, 0xbd, 0x6b, 0x77, 0xdc, 0xc6, 0xb1, 0x2e, 0xfc, 0xdd, 0xbf, 0x02, 0x9b, 0x59, 0x39, 0x24, 0x4f, 0x66, 0x86, 0x37, 0x5d, 0x2c, 0x45, 0xce, 0xb6, 0x22, 0x51, 0x36, 0xb7, 0x29, 0x91, 0x47, 0x43, 0xd9, 0xce, 0x89, 0xbd, 0xb4, 0x30, 0x33, 0x18, 0x12, 0xd1, 0x0c, 0x30, 0x01, 0x30, 0xbc, 0x64, 0x9f, 0x9c, 0xdf, 0xfe, 0x76, 0x3d, 0x55, 0xd5, 0xdd, 0x40, 0x37, 0x86, 0xb4, 0x63, 0xfb, 0xdc, 0xde, 0xec, 0xb5, 0x2d, 0x89, 0x04, 0x1a, 0x7d, 0xa9, 0xae, 0x7b, 0x3d, 0x95, 0x24, 0xf7, 0xfd, 0xef, 0x23, 0xfe, 0xff, 0xa3, 0xf9, 0x9f, 0xf9, 0xf3, 0xb3, 0x24, 0x39, 0xaf, 0xca, 0xbf, 0x65, 0xd3, 0x26, 0xfe, 0xec, 0xc7, 0x8f, 0xff, 0x23, 0xe1, 0xff, 0x33, 0xef, 0xfc, 0x60, 0xfe, 0xfc, 0x6c, 0xe3, 0xd8, 0x7b, 0x89, 0x7b, 0xe1, 0x7f, 0x7c, 0xdc, 0x4d, 0xee, 0x7b, 0xe1, 0x7f, 0x24, 0x3b, 0x78, 0xe1, 0xa3, 0x7c, 0xe1, 0x05, 0xfd, 0xfd, 0xe3, 0xc7, 0xcd, 0x1f, 0xf9, 0x81, 0x66, 0x45, 0xff, 0xd9, 0xa3, 0xf7, 0x7e, 0xf8, 0x48, 0x7f, 0x35, 0x3f, 0xf9, 0xec, 0xb3, 0x77, 0x2f, 0xdf, 0x1e, 0xeb, 0xab, 0xd3, 0x75, 0xb5, 0x48, 0x86, 0x49, 0x53, 0xa5, 0x45, 0x3d, 0xcf, 0xaa, 0x24, 0x4d, 0x3e, 0xbc, 0x3f, 0xfd, 0xec, 0xb3, 0xf1, 0x5f, 0xde, 0x9d, 0x9d, 0x8f, 0x4f, 0xc6, 0xad, 0xc7, 0xfe, 0x5a, 0xae, 0x9a, 0xbc, 0x2c, 0x6a, 0x33, 0x7d, 0xf3, 0x50, 0xfd, 0xe3, 0x67, 0x9f, 0xbd, 0x3e, 0x1e, 0xbf, 0x7a, 0x7f, 0x72, 0x7e, 0x71, 0x72, 0xf6, 0xae, 0xf5, 0x64, 0x92, 0xd7, 0x89, 0x19, 0xaa, 0x29, 0xcb, 0x85, 0xf9, 0x8f, 0x1b, 0x7d, 0x96, 0x36, 0x69, 0x32, 0xaf, 0xca, 0x65, 0x52, 0x56, 0xf4, 0x8b, 0x34, 0xa9, 0xb3, 0xea, 0x3a, 0xab, 0x06, 0xc9, 0xba, 0xce, 0x8b, 0xcb, 0xa4, 0x2c, 0xb2, 0xa4, 0x9c, 0x27, 0xcd, 0x55, 0xa6, 0xc3, 0xd5, 0xeb, 0xd5, 0xaa, 0xac, 0x9a, 0x6c, 0x96, 0xac, 0xaa, 0xb2, 0x29, 0xa7, 0xe5, 0xa2, 0x4e, 0x76, 0x5e, 0x9f, 0xbc, 0xba, 0x18, 0x24, 0x6f, 0x4e, 0x4e, 0x8f, 0xcd, 0x7f, 0x2f, 0xce, 0xf1, 0x9f, 0xf1, 0x20, 0xf9, 0xea, 0xec, 0xfc, 0xeb, 0xe3, 0xf7, 0x83, 0xe4, 0xeb, 0x0b, 0xfa, 0x19, 0xfd, 0xd7, 0xfc, 0x30, 0x39, 0x79, 0xfb, 0xf2, 0x7c, 0xa0, 0xc3, 0xd1, 0x3f, 0xe8, 0x87, 0xa7, 0xaf, 0xcd, 0x0f, 0xf9, 0x0f, 0xfa, 0xe7, 0xf9, 0xd9, 0xf9, 0x91, 0xfc, 0x41, 0xff, 0x7c, 0x7f, 0xf1, 0xd6, 0xfc, 0xf6, 0xfd, 0xc5, 0xd8, 0xfc, 0x77, 0xfc, 0x8a, 0xfe, 0x83, 0xaf, 0x8c, 0xdf, 0xfe, 0x19, 0xff, 0x19, 0xdb, 0xe1, 0xc6, 0x6f, 0xf9, 0xe7, 0xf8, 0xd2, 0xc5, 0xf1, 0xe9, 0xbb, 0xe3, 0x8b, 0x24, 0x2d, 0x66, 0xc9, 0x85, 0x79, 0x7e, 0x77, 0x94, 0x5c, 0x5c, 0x65, 0xc9, 0xb4, 0x5c, 0x2e, 0xe9, 0x47, 0x66, 0x47, 0x66, 0x59, 0x9d, 0x5f, 0x16, 0x66, 0x29, 0x66, 0xe5, 0x37, 0x65, 0xf5, 0x29, 0x49, 0x6e, 0xf2, 0xe6, 0xaa, 0x5c, 0x37, 0x3a, 0xdc, 0xda, 0xec, 0x46, 0x92, 0x17, 0x4d, 0x56, 0xa5, 0x53, 0xda, 0xe9, 0xd1, 0x67, 0xad, 0x5d, 0x2d, 0xe7, 0x66, 0x0f, 0x6b, 0xb3, 0x69, 0x93, 0x75, 0xbd, 0x28, 0xd3, 0x19, 0x6d, 0x95, 0x79, 0x65, 0xbe, 0x36, 0x9b, 0x5c, 0xe5, 0xd3, 0x4f, 0x75, 0xb2, 0xc8, 0x3f, 0x65, 0xb4, 0x51, 0xb7, 0x77, 0xba, 0x71, 0x03, 0x1e, 0x34, 0x5d, 0x9b, 0x3d, 0x2d, 0x86, 0x3a, 0x5c, 0x93, 0x4f, 0x53, 0xfa, 0x00, 0x76, 0x2e, 0x59, 0xaf, 0x68, 0x34, 0xde, 0xb1, 0x64, 0x55, 0xd6, 0xe6, 0xa5, 0xf1, 0xf8, 0xd4, 0xcc, 0xbc, 0x28, 0x32, 0xcc, 0xa3, 0x1e, 0x98, 0x7f, 0x94, 0x9f, 0xf2, 0xcc, 0xfc, 0x65, 0x9e, 0x2f, 0xb2, 0x84, 0x4f, 0xd4, 0x0e, 0x47, 0x47, 0x9b, 0x54, 0x59, 0xbd, 0x5e, 0x66, 0x66, 0xf7, 0xde, 0x66, 0x4d, 0xba, 0xc8, 0x8b, 0x4f, 0xe6, 0xaf, 0xb4, 0xf0, 0x65, 0x59, 0x65, 0xa3, 0xe4, 0x65, 0x9d, 0xdc, 0x95, 0x6b, 0xb3, 0xe0, 0xc5, 0xc2, 0x9c, 0x79, 0x96, 0x4c, 0xb2, 0x45, 0x79, 0x33, 0xa0, 0x93, 0x4e, 0x8a, 0xf5, 0x72, 0x62, 0x06, 0x28, 0xe7, 0x6e, 0xb8, 0xb4, 0x59, 0x9b, 0xe1, 0xf8, 0xe9, 0x65, 0x6a, 0xd6, 0x64, 0xde, 0xad, 0x92, 0xab, 0xcc, 0xac, 0xb9, 0x5e, 0xe5, 0xc5, 0xbf, 0xb5, 0xf7, 0xc5, 0x6c, 0xed, 0xaa, 0xbc, 0xc9, 0x2a, 0xb3, 0xb3, 0x93, 0xbb, 0xc4, 0x6c, 0xc2, 0x84, 0x89, 0x70, 0x6e, 0x88, 0x2c, 0x49, 0xcd, 0x10, 0x96, 0x00, 0x87, 0x55, 0xb6, 0x48, 0x89, 0x98, 0xec, 0x37, 0x46, 0xe6, 0x10, 0x33, 0x4b, 0x6d, 0xf2, 0xea, 0xce, 0xd1, 0x2e, 0x5e, 0x9e, 0x99, 0x95, 0xe4, 0x8b, 0xda, 0x1c, 0x03, 0x5d, 0x0a, 0x79, 0x86, 0x0e, 0x95, 0xe8, 0xdf, 0xd0, 0xe6, 0x5d, 0xd1, 0xa4, 0xb7, 0xf8, 0xbc, 0xd0, 0xe6, 0x70, 0x96, 0xad, 0xb2, 0x62, 0x96, 0x15, 0xcd, 0x28, 0xf9, 0x4b, 0xb9, 0xde, 0x36, 0xdf, 0x9e, 0xe7, 0x66, 0x0f, 0x52, 0x19, 0xca, 0x7c, 0xd9, 0x10, 0xc1, 0xb4, 0xca, 0x57, 0xde, 0x51, 0x94, 0x85, 0x39, 0xf3, 0xe4, 0xfd, 0x9b, 0x57, 0xc9, 0xd1, 0xb3, 0xcf, 0x9f, 0xb8, 0x33, 0x37, 0x03, 0x24, 0xd3, 0xb4, 0x30, 0x2b, 0xce, 0xa6, 0xf9, 0xfc, 0x2e, 0x59, 0xae, 0x17, 0x4d, 0xbe, 0x32, 0xbb, 0x4f, 0x97, 0x8f, 0x2e, 0xd0, 0x2a, 0xad, 0x9a, 0x9a, 0x88, 0x00, 0x3f, 0xc0, 0xda, 0x6f, 0xaa, 0xbc, 0xa1, 0x8b, 0x84, 0xdf, 0x99, 0x19, 0x66, 0x4d, 0xad, 0xc3, 0x11, 0xad, 0x99, 0xef, 0x4c, 0x0c, 0x6d, 0x99, 0xad, 0x4d, 0x6b, 0xf3, 0xd1, 0xe7, 0x9f, 0x39, 0x0e, 0x72, 0xd5, 0x34, 0xab, 0xe7, 0x7b, 0x7b, 0x75, 0xde, 0x64, 0xa3, 0xff, 0x34, 0xf7, 0x70, 0xd0, 0xdc, 0x94, 0x83, 0xe6, 0xaa, 0xca, 0xb2, 0x7f, 0x8e, 0x0c, 0x0d, 0xdb, 0x27, 0xcd, 0x77, 0xef, 0x64, 0x62, 0x97, 0x59, 0x63, 0xbe, 0xf0, 0xf7, 0x75, 0x56, 0xd0, 0x88, 0x66, 0x1e, 0xe9, 0x62, 0x75, 0x95, 0x9a, 0xe3, 0xcc, 0x0c, 0x35, 0xd2, 0xcd, 0x36, 0x04, 0x43, 0xb3, 0xe2, 0xbb, 0xfd, 0xd7, 0x1f, 0xc3, 0x8f, 0xce, 0xf1, 0x4d, 0xf3, 0xdf, 0x51, 0x76, 0x9b, 0x2e, 0xcd, 0xda, 0xe8, 0x53, 0x7b, 0x44, 0x62, 0x7f, 0x3d, 0x18, 0x1e, 0xec, 0xef, 0xff, 0x38, 0x6a, 0x6e, 0x9b, 0x87, 0x3d, 0xbf, 0xbf, 0xef, 0xde, 0xa0, 0x47, 0x77, 0x68, 0xbd, 0xc9, 0xc2, 0x90, 0x0c, 0x7d, 0xfc, 0x1f, 0x59, 0x55, 0xd6, 0xbb, 0x0f, 0x1b, 0x29, 0x1d, 0xfe, 0xa3, 0xfd, 0xdd, 0x77, 0x59, 0x0d, 0x9a, 0x71, 0x6b, 0x4d, 0xd2, 0xca, 0xd0, 0x6d, 0xd9, 0x38, 0xf6, 0x34, 0x30, 0x97, 0xb2, 0xb1, 0x3b, 0x63, 0xee, 0x9c, 0x79, 0xda, 0x30, 0xb6, 0x74, 0x41, 0x3c, 0xad, 0x4e, 0x8a, 0xec, 0xd6, 0xde, 0x72, 0x73, 0xfb, 0xb3, 0x74, 0x7a, 0x95, 0x94, 0x86, 0xf8, 0xab, 0xc8, 0x11, 0xf8, 0x13, 0x4a, 0xab, 0xe9, 0x55, 0x7e, 0x6d, 0x76, 0xe3, 0xd9, 0xb3, 0x27, 0x43, 0xf3, 0x9f, 0x67, 0x3f, 0xee, 0x5d, 0x97, 0x0b, 0xb3, 0x39, 0x8f, 0x7e, 0xdc, 0xa3, 0x23, 0xfe, 0xcf, 0x74, 0x30, 0x19, 0x4c, 0xff, 0x39, 0xba, 0x6a, 0x96, 0x8b, 0x5e, 0xc2, 0x49, 0x0b, 0xf3, 0xff, 0xcb, 0x72, 0x5d, 0x34, 0x96, 0x58, 0x0c, 0xcd, 0x35, 0x1e, 0x73, 0x32, 0xd7, 0xd5, 0xdc, 0x51, 0x22, 0x6d, 0xa2, 0x21, 0xba, 0x75, 0xe6, 0x82, 0xba, 0xeb, 0xd8, 0x4c, 0xaf, 0x68, 0xfd, 0x86, 0x7a, 0x52, 0xd9, 0x84, 0x26, 0x4f, 0xe9, 0x66, 0x1a, 0x06, 0x41, 0x0c, 0x0b, 0x63, 0xf1, 0xd7, 0x72, 0xf3, 0x60, 0x59, 0xcd, 0xb2, 0x6a, 0xd4, 0x9d, 0x86, 0xbd, 0xb2, 0xde, 0x37, 0x13, 0x95, 0x28, 0xf4, 0x03, 0x4c, 0x6c, 0x99, 0xdf, 0x9a, 0x11, 0xc0, 0x30, 0x0b, 0x4c, 0x9c, 0x47, 0x4b, 0x68, 0xc6, 0xf8, 0x8c, 0xbe, 0xef, 0xae, 0xac, 0x99, 0x7a, 0x6b, 0xe9, 0xf8, 0xa8, 0x5b, 0x7c, 0x62, 0x0e, 0x6f, 0x65, 0xde, 0x5a, 0x13, 0x5f, 0xc5, 0xb5, 0xa6, 0x61, 0x0c, 0x43, 0xb8, 0x34, 0xe7, 0x62, 0xce, 0x82, 0xa8, 0x98, 0x8e, 0xea, 0x2e, 0x79, 0x67, 0x08, 0x86, 0x99, 0x91, 0x47, 0xec, 0x8b, 0xac, 0x69, 0xee, 0x3d, 0x26, 0x47, 0xb1, 0xcf, 0x0f, 0x02, 0xa2, 0xed, 0x7b, 0xde, 0xd0, 0xd9, 0xf3, 0xc3, 0xf6, 0xc3, 0xdf, 0x19, 0x26, 0xed, 0xae, 0x8b, 0xf9, 0xfa, 0x7f, 0xfe, 0xd3, 0xa3, 0xba, 0x1b, 0xfa, 0x6d, 0x5e, 0x5c, 0x97, 0x9f, 0xcc, 0x16, 0x41, 0x8a, 0xa6, 0xed, 0xdd, 0x24, 0x3e, 0xb4, 0x5c, 0x35, 0x56, 0x3c, 0x11, 0x39, 0x9a, 0x1f, 0x4d, 0xd2, 0xc9, 0xe2, 0x2e, 0xb9, 0x4a, 0xaf, 0x33, 0x5a, 0xef, 0xca, 0xd0, 0x29, 0xed, 0x80, 0x11, 0x1b, 0x0b, 0xf0, 0x31, 0x61, 0x0c, 0xb3, 0x72, 0x3d, 0x31, 0xcc, 0xe5, 0xef, 0xeb, 0xb2, 0xe1, 0x8d, 0x49, 0xaf, 0xcb, 0x7c, 0xd6, 0x92, 0xc5, 0x57, 0x19, 0x31, 0x34, 0xfa, 0x30, 0x84, 0x94, 0x61, 0xa8, 0x34, 0x53, 0x5c, 0xb4, 0xbc, 0x21, 0x71, 0x67, 0x58, 0x61, 0xba, 0xa8, 0xcb, 0x24, 0xb9, 0x2c, 0xe9, 0x96, 0x80, 0x01, 0x83, 0xcc, 0xcd, 0xa1, 0x5c, 0xa5, 0x24, 0xd5, 0x8c, 0x00, 0xb3, 0xf7, 0xa0, 0xca, 0xc0, 0x8b, 0x71, 0x52, 0xe9, 0x62, 0xc0, 0xd2, 0x8b, 0xde, 0x91, 0xad, 0x4a, 0xb6, 0xff, 0xcb, 0xf6, 0x20, 0xd9, 0xfe, 0xf7, 0x6d, 0xd0, 0xc3, 0xf6, 0x7f, 0xdd, 0x76, 0xe7, 0x6c, 0x94, 0xb1, 0xeb, 0x7c, 0x96, 0x31, 0x49, 0x9c, 0x9c, 0x5f, 0x3f, 0x49, 0xfe, 0x41, 0xba, 0x83, 0xe1, 0xb5, 0xd9, 0xad, 0x12, 0xa4, 0xae, 0xcd, 0xbc, 0x9d, 0x18, 0xa6, 0x9b, 0xae, 0x48, 0x89, 0xc8, 0xaa, 0xa9, 0xa1, 0xde, 0xf4, 0xd2, 0xd0, 0xab, 0x91, 0xc5, 0x3a, 0x1c, 0x8d, 0x4f, 0xaf, 0xf0, 0xb2, 0x0c, 0x83, 0x4c, 0x8a, 0x74, 0x69, 0x6e, 0xc4, 0x29, 0xcd, 0x28, 0x2f, 0xc2, 0xc3, 0xfc, 0xeb, 0x3c, 0xfb, 0x7c, 0xff, 0xf9, 0xf3, 0xa3, 0xdf, 0x1f, 0x3e, 0xce, 0x9a, 0xab, 0xfd, 0x1f, 0xf7, 0xec, 0x23, 0x27, 0x73, 0x6c, 0xbb, 0x92, 0x9f, 0x4e, 0xc2, 0x48, 0x79, 0x2b, 0x25, 0xcc, 0xfb, 0xe6, 0xef, 0xd9, 0x3c, 0xbf, 0x1d, 0xa8, 0xbe, 0xc4, 0x77, 0x2e, 0x35, 0xa4, 0x66, 0xce, 0x8f, 0x58, 0x84, 0x0e, 0x77, 0xb9, 0xce, 0x6a, 0xb3, 0x93, 0x37, 0x57, 0x69, 0x93, 0xd8, 0x01, 0xf8, 0x64, 0x97, 0xf9, 0xe5, 0x55, 0x93, 0xdc, 0xa4, 0x24, 0x6c, 0x4e, 0x1a, 0x1e, 0x82, 0xa4, 0xbc, 0x11, 0x31, 0xf3, 0xd4, 0xc8, 0x0a, 0x3a, 0x43, 0x88, 0xf4, 0x89, 0xd3, 0x30, 0x1a, 0x43, 0xe6, 0x7c, 0x20, 0x4e, 0x9d, 0x9a, 0xa4, 0x35, 0x5d, 0xda, 0xc2, 0x30, 0x87, 0xc6, 0xe8, 0x08, 0x6b, 0xfa, 0xd7, 0x95, 0xd1, 0x02, 0xb0, 0x07, 0x32, 0x51, 0x08, 0xca, 0x37, 0x74, 0x9c, 0x74, 0x36, 0x56, 0x78, 0x99, 0x43, 0x1a, 0xc8, 0x31, 0xdb, 0x37, 0x6a, 0x73, 0xe1, 0x0c, 0x67, 0xb2, 0x94, 0xb1, 0x45, 0x4c, 0x76, 0x8b, 0xd7, 0x89, 0x39, 0xa6, 0x35, 0x29, 0x0a, 0xac, 0x0e, 0x98, 0xc9, 0x7b, 0x8b, 0x35, 0x9b, 0x96, 0x7e, 0x22, 0x95, 0xa4, 0xa3, 0xf8, 0xe0, 0xb5, 0x59, 0x69, 0x88, 0xcc, 0xcc, 0xd6, 0x30, 0x63, 0x5a, 0x19, 0xb1, 0x58, 0xec, 0x0a, 0x88, 0xdc, 0x8c, 0x49, 0x3f, 0xcc, 0x1b, 0x92, 0x31, 0xd0, 0x61, 0xcd, 0x7c, 0xcd, 0xa6, 0x40, 0x11, 0x35, 0x8c, 0xda, 0x5b, 0x3f, 0xc4, 0xa3, 0x79, 0x36, 0xb9, 0x36, 0x5a, 0x8a, 0x51, 0x48, 0x33, 0xfb, 0x16, 0xe4, 0xf9, 0x94, 0x74, 0xa3, 0x85, 0xb9, 0x2f, 0xd3, 0xb2, 0xaa, 0x48, 0xdf, 0xa7, 0x13, 0x9c, 0x30, 0x13, 0x5d, 0x66, 0x46, 0x8d, 0xf0, 0xb7, 0x33, 0x27, 0x81, 0x66, 0xf8, 0x8b, 0xd1, 0x4b, 0xc0, 0x41, 0x8c, 0xfe, 0x00, 0x9e, 0x8f, 0x85, 0x63, 0x76, 0x34, 0xf6, 0x74, 0x9a, 0xad, 0x9a, 0x3a, 0xb6, 0x26, 0x3d, 0x70, 0x33, 0x9d, 0x2a, 0xa3, 0x9d, 0xf7, 0x95, 0x2e, 0xec, 0xab, 0x15, 0xfa, 0xd0, 0xbb, 0x54, 0x8f, 0x31, 0x7a, 0x58, 0x6d, 0x77, 0xad, 0x01, 0x6d, 0x18, 0x36, 0x86, 0x3d, 0x5f, 0xd2, 0x44, 0xe9, 0xe1, 0x9a, 0x6f, 0x2a, 0x58, 0x33, 0x1d, 0x24, 0x6b, 0xda, 0xfc, 0x5d, 0x12, 0x5d, 0x66, 0x3f, 0xed, 0xe0, 0xe6, 0xab, 0xf6, 0x4c, 0xe9, 0xf3, 0xa4, 0xe2, 0x1b, 0x49, 0x3e, 0xab, 0xaf, 0x8c, 0xf2, 0x55, 0xcb, 0xcd, 0xce, 0x97, 0x86, 0x66, 0xae, 0xe9, 0x7c, 0x57, 0x59, 0x36, 0x1b, 0x25, 0x67, 0x73, 0xe2, 0xaa, 0x95, 0x99, 0x74, 0x83, 0x5f, 0x93, 0x54, 0x31, 0xfb, 0x36, 0x83, 0x12, 0x6f, 0xaf, 0x16, 0x4f, 0xc5, 0x93, 0x0e, 0xe0, 0xe4, 0xa9, 0xf9, 0x89, 0x99, 0xed, 0xa2, 0x2d, 0x82, 0x70, 0x0f, 0x0d, 0xf7, 0xa6, 0xe9, 0x4d, 0xb2, 0x04, 0x94, 0x38, 0xc9, 0x9a, 0x9b, 0x2c, 0xb3, 0xc3, 0xd5, 0x99, 0x11, 0x7b, 0x74, 0x68, 0xac, 0xf9, 0x81, 0x19, 0xd2, 0xd6, 0x9e, 0xbf, 0x3f, 0xfb, 0xea, 0xfd, 0xf1, 0x78, 0x9c, 0xbc, 0x3d, 0xbe, 0x38, 0x7e, 0xdf, 0xda, 0xe9, 0xa2, 0xac, 0x96, 0x38, 0xd1, 0x59, 0x5e, 0xaf, 0x16, 0xe9, 0x1d, 0x1d, 0xb5, 0x59, 0xc9, 0x65, 0x45, 0x37, 0x6b, 0x99, 0x91, 0x54, 0x98, 0xad, 0xc1, 0xc9, 0x8c, 0x38, 0x32, 0xc7, 0x27, 0x1a, 0x2f, 0x31, 0x13, 0xa8, 0xc9, 0xc5, 0xa5, 0xdb, 0x69, 0xc3, 0x71, 0x44, 0x92, 0x92, 0x28, 0xb5, 0xe7, 0x41, 0xaa, 0x27, 0x8c, 0x9b, 0x81, 0xfb, 0x19, 0x6f, 0x13, 0x8b, 0x36, 0x43, 0xb3, 0xf9, 0x12, 0xcc, 0xce, 0xfc, 0xe9, 0xb4, 0xcd, 0x6c, 0x6e, 0x54, 0x6d, 0x23, 0x5d, 0xd9, 0x52, 0xe8, 0xce, 0x49, 0x67, 0x6b, 0xf5, 0x63, 0x43, 0x86, 0xc4, 0x9a, 0x69, 0x40, 0x9e, 0x0a, 0x7f, 0xc1, 0x32, 0x31, 0xa3, 0x93, 0x10, 0xef, 0x93, 0xc7, 0x56, 0x34, 0x85, 0xcc, 0x9c, 0xec, 0x8c, 0x87, 0xaf, 0xd7, 0x73, 0x5c, 0xe4, 0x64, 0xc7, 0x68, 0xe6, 0x6f, 0x8d, 0xb5, 0x64, 0x2c, 0x96, 0x41, 0x72, 0xbe, 0x8b, 0xf7, 0x0e, 0xf6, 0x0f, 0x1f, 0x31, 0x23, 0x18, 0xe9, 0x70, 0x6f, 0x3c, 0x46, 0x7c, 0xf0, 0x89, 0x8e, 0x97, 0x1f, 0xa2, 0xc1, 0x47, 0xc9, 0xc1, 0x5b, 0xfe, 0xc9, 0xa3, 0xcf, 0x1f, 0x3f, 0x7d, 0x22, 0x3f, 0x6c, 0x13, 0xb8, 0x9d, 0x3f, 0xa8, 0x03, 0x96, 0x1f, 0x99, 0x82, 0x66, 0x26, 0x66, 0x75, 0xcb, 0xbc, 0x30, 0xd7, 0xc4, 0x5c, 0x2b, 0xe1, 0x55, 0x44, 0xcf, 0x66, 0xf2, 0x73, 0xe6, 0x6c, 0x72, 0xae, 0x6d, 0x93, 0xd2, 0xbc, 0x6c, 0x48, 0xd6, 0xf0, 0x72, 0x7b, 0x48, 0xac, 0x26, 0x34, 0x34, 0x91, 0x74, 0x42, 0x0c, 0x96, 0xec, 0x2a, 0xa3, 0x00, 0x67, 0xd1, 0xaf, 0x59, 0xa9, 0x68, 0xde, 0x30, 0x73, 0x33, 0x32, 0x91, 0xc4, 0x5c, 0xb8, 0xef, 0x86, 0x15, 0x80, 0x43, 0xde, 0xe4, 0x35, 0x58, 0xc3, 0x4d, 0xb9, 0x5e, 0x18, 0x2b, 0x86, 0x1e, 0x58, 0xaf, 0xf0, 0x82, 0xf9, 0xd4, 0xca, 0xf1, 0x00, 0xa3, 0xb1, 0x10, 0xed, 0x74, 0x47, 0x31, 0x53, 0x33, 0xff, 0x5c, 0x19, 0x52, 0xe2, 0xe9, 0x8c, 0xba, 0x12, 0x02, 0xbc, 0x2f, 0xa0, 0x44, 0xba, 0xf3, 0x60, 0xda, 0xe7, 0x67, 0xe3, 0x0b, 0xd2, 0x00, 0xce, 0x3f, 0x5c, 0x98, 0x81, 0x8c, 0x0a, 0x50, 0x37, 0x86, 0x28, 0xe9, 0xc5, 0x22, 0x83, 0x09, 0xa9, 0xc3, 0x19, 0xda, 0xcb, 0xc1, 0xa8, 0xa0, 0xd6, 0xe8, 0x27, 0x79, 0x8e, 0x6c, 0x63, 0xd3, 0x15, 0x54, 0x0b, 0x9b, 0x65, 0xb8, 0x7d, 0x27, 0xd9, 0xf9, 0xd3, 0xae, 0xa1, 0xd9, 0x61, 0x69, 0x77, 0x67, 0x38, 0x94, 0x57, 0xcd, 0xb7, 0xeb, 0x7c, 0x99, 0x2f, 0xd2, 0xca, 0x9b, 0x3a, 0x73, 0x54, 0xba, 0x9f, 0x96, 0xaf, 0x4c, 0x0d, 0xd5, 0x60, 0xda, 0xce, 0x94, 0xa4, 0x3d, 0x04, 0x57, 0x72, 0x47, 0x35, 0x23, 0x85, 0x00, 0x1a, 0xf3, 0x2a, 0xb7, 0x5b, 0x47, 0x67, 0x46, 0xec, 0xaa, 0xb5, 0x51, 0xdd, 0x73, 0x0b, 0x36, 0x8e, 0x24, 0x12, 0x3c, 0x15, 0x76, 0xeb, 0x92, 0xad, 0x49, 0x5a, 0x6d, 0x25, 0x96, 0x17, 0xf3, 0xdd, 0xa4, 0x1b, 0x52, 0x65, 0x97, 0x6b, 0xb3, 0x82, 0x84, 0x77, 0x97, 0x56, 0xfa, 0x3b, 0x6f, 0xa5, 0x3a, 0xc0, 0x70, 0x42, 0x8f, 0xe4, 0x35, 0x9b, 0x99, 0x73, 0x63, 0xb7, 0xd0, 0xa5, 0x51, 0xfd, 0x15, 0x1a, 0x8d, 0x50, 0x4c, 0x84, 0x60, 0x3c, 0xbd, 0xd6, 0x5c, 0x95, 0x26, 0x33, 0x8c, 0x06, 0xec, 0x9f, 0x9e, 0x1c, 0x9a, 0x23, 0x1b, 0x0e, 0x6b, 0xb3, 0xff, 0xa4, 0x7b, 0xaf, 0xc4, 0xa6, 0x3f, 0x83, 0xc3, 0xc4, 0xfa, 0x56, 0xce, 0x44, 0x07, 0x86, 0xd8, 0xe4, 0x77, 0xc1, 0x42, 0x8d, 0xa2, 0x7a, 0x63, 0x3e, 0x9c, 0x9a, 0x23, 0x33, 0x17, 0xee, 0x2d, 0x6d, 0x14, 0xfb, 0x46, 0x12, 0xab, 0x36, 0x83, 0x32, 0x72, 0xba, 0xf7, 0xa9, 0xd3, 0x65, 0x66, 0xb3, 0x9c, 0x7e, 0x6b, 0xee, 0x97, 0x91, 0x70, 0xeb, 0x0c, 0xb6, 0x87, 0x6c, 0xea, 0xd2, 0x6d, 0x26, 0xcc, 0xd8, 0xfa, 0xaa, 0x24, 0x33, 0x71, 0x8b, 0x79, 0xf1, 0x90, 0xbe, 0xb5, 0x05, 0x79, 0xbe, 0x4c, 0xf4, 0x5b, 0xf2, 0x29, 0xb3, 0x8e, 0x99, 0xaf, 0x9b, 0x0d, 0x8c, 0xa0, 0xb9, 0xf3, 0x8c, 0x04, 0xf0, 0x6a, 0x9e, 0x7b, 0x65, 0x15, 0x1e, 0x23, 0x52, 0x57, 0xa4, 0x4c, 0x09, 0x0f, 0x87, 0x30, 0xc4, 0x95, 0xad, 0x79, 0x6a, 0x03, 0xb3, 0xb7, 0xf4, 0xe4, 0xe5, 0x95, 0x3e, 0xea, 0x09, 0xd6, 0xd4, 0x2c, 0x8e, 0x84, 0x03, 0xd9, 0xd3, 0x33, 0xe5, 0xfb, 0x65, 0xc5, 0xcc, 0x6c, 0x51, 0x1a, 0x5a, 0xde, 0x62, 0x95, 0x55, 0xa6, 0x4d, 0xb3, 0xa6, 0x59, 0xd2, 0x8e, 0xb3, 0x9f, 0xa9, 0xb4, 0x67, 0x63, 0x27, 0x2d, 0xfb, 0x55, 0xdf, 0x3b, 0x35, 0xb7, 0x51, 0x63, 0xec, 0x91, 0x11, 0x9d, 0x35, 0xd1, 0xb1, 0xee, 0x3c, 0xc8, 0xdb, 0x88, 0xba, 0xed, 0x86, 0xef, 0x23, 0x6c, 0xac, 0xce, 0xce, 0xd7, 0x20, 0x1f, 0x11, 0x64, 0x76, 0x65, 0x66, 0x45, 0xb3, 0x3c, 0x05, 0x9d, 0xf0, 0xd1, 0x40, 0x19, 0x71, 0x16, 0x61, 0x44, 0x0f, 0xbe, 0xeb, 0x1a, 0x74, 0x8b, 0x85, 0x2f, 0x92, 0x74, 0x4e, 0xc3, 0x33, 0xb3, 0xf6, 0x53, 0xac, 0x63, 0x78, 0x9d, 0xd0, 0xf5, 0x33, 0x66, 0x03, 0xdd, 0xc5, 0xe1, 0xd9, 0xe9, 0xb5, 0x77, 0x8d, 0xc8, 0x72, 0x2f, 0x48, 0x4f, 0x19, 0xc0, 0x3b, 0x32, 0x29, 0x4b, 0x63, 0x26, 0xbb, 0xa5, 0x91, 0x3c, 0xc8, 0x0a, 0xa2, 0x76, 0x39, 0x51, 0xc3, 0x12, 0x56, 0x96, 0xdf, 0xde, 0x19, 0x73, 0x29, 0xbd, 0x4c, 0x73, 0x4b, 0x6f, 0x72, 0x33, 0x66, 0x89, 0x3e, 0x5c, 0x94, 0xf2, 0x3c, 0x1d, 0x15, 0xa9, 0x40, 0xc2, 0xb7, 0xd6, 0x35, 0x5f, 0x1f, 0xb3, 0x2a, 0xc3, 0x79, 0xc0, 0x3b, 0x64, 0x5c, 0x52, 0x1b, 0x75, 0xb8, 0x09, 0x14, 0x65, 0xd2, 0x39, 0xc1, 0x7c, 0xa1, 0x41, 0x9a, 0x11, 0xb7, 0x46, 0xc9, 0xd7, 0xe5, 0x4d, 0x06, 0x5f, 0x21, 0xf4, 0xfb, 0x9c, 0xbc, 0x5d, 0x46, 0x15, 0xbc, 0xc9, 0x92, 0xa5, 0x51, 0x3d, 0xcd, 0x6e, 0x42, 0xfb, 0xc0, 0xcf, 0x3c, 0xf3, 0xd0, 0x50, 0xf8, 0x0d, 0xef, 0x92, 0x5d, 0x85, 0x3d, 0xca, 0x39, 0x5f, 0x89, 0x64, 0x07, 0xea, 0xcd, 0x94, 0x76, 0x6b, 0xd5, 0xb8, 0x55, 0xd8, 0x0d, 0xb9, 0x49, 0x6b, 0xef, 0x72, 0x65, 0x30, 0x4d, 0x9f, 0x8e, 0x0e, 0x9e, 0x8d, 0xf6, 0x47, 0xc6, 0x10, 0xc9, 0xae, 0xf3, 0x72, 0x5d, 0x9b, 0x4f, 0xd3, 0x34, 0xdc, 0x3b, 0x19, 0xdd, 0xca, 0xa6, 0xbc, 0xbc, 0x5c, 0xb0, 0xce, 0xb3, 0x57, 0xce, 0xe7, 0xac, 0xfb, 0x18, 0x4d, 0xcf, 0xea, 0xcf, 0x6c, 0x01, 0xd1, 0xce, 0xc8, 0x75, 0x63, 0x96, 0x1a, 0x9a, 0xc8, 0x23, 0xe7, 0xbc, 0x18, 0x0e, 0xd3, 0x49, 0xdd, 0x90, 0x31, 0x35, 0x5c, 0x17, 0xf9, 0xed, 0xb0, 0x2e, 0xa7, 0x9f, 0xcc, 0xa1, 0xbc, 0x58, 0xa5, 0xcd, 0xd5, 0x9f, 0x3a, 0x2e, 0xe1, 0x1d, 0x92, 0x25, 0xbb, 0x49, 0xf2, 0x8a, 0xd5, 0x4a, 0xda, 0x89, 0x8a, 0xef, 0x9b, 0x39, 0x4d, 0x19, 0x25, 0xf9, 0x60, 0x46, 0x31, 0xb4, 0xbc, 0x34, 0x87, 0x9a, 0xf0, 0x60, 0x03, 0x65, 0xa5, 0x9d, 0xe1, 0xe0, 0x70, 0x24, 0x31, 0x02, 0xbf, 0x9d, 0xb9, 0x3a, 0x65, 0xf5, 0xc9, 0x28, 0xda, 0xef, 0x8c, 0xc9, 0xf8, 0x9c, 0xfe, 0x6d, 0x58, 0x58, 0x83, 0x2d, 0x17, 0xc9, 0x6a, 0x66, 0xc4, 0xcc, 0x98, 0x2c, 0xf2, 0x74, 0x32, 0xec, 0x0c, 0x27, 0xdf, 0x97, 0x8f, 0x26, 0x6a, 0x6b, 0x28, 0x29, 0x25, 0xdb, 0x5f, 0x1a, 0xfb, 0xef, 0x8a, 0x8f, 0x1d, 0x03, 0xf2, 0x1a, 0x0d, 0x85, 0x5e, 0x1a, 0x0b, 0xa2, 0x68, 0xba, 0xc3, 0x5d, 0x41, 0x54, 0x93, 0x94, 0x61, 0x63, 0x17, 0x44, 0x22, 0x1e, 0x20, 0x6b, 0x7f, 0x8e, 0x3e, 0xeb, 0xbc, 0xf6, 0xd2, 0x9d, 0xe9, 0xe3, 0x23, 0x73, 0xa6, 0xfe, 0x46, 0x2f, 0x9a, 0x61, 0x7d, 0x3d, 0x4d, 0x5e, 0x40, 0xfb, 0x26, 0x32, 0x8d, 0x6e, 0xf0, 0x78, 0x37, 0xf9, 0xee, 0xe5, 0xfb, 0x77, 0x27, 0xef, 0xbe, 0x7a, 0xce, 0x1f, 0x15, 0x4a, 0x33, 0x7f, 0xcb, 0x6e, 0x57, 0xe4, 0x07, 0xa3, 0xd9, 0x1a, 0x51, 0x96, 0x24, 0xaf, 0x4b, 0xd8, 0x23, 0x60, 0x98, 0x24, 0xb0, 0x3a, 0xc3, 0x19, 0xd1, 0x32, 0x5b, 0x77, 0x7c, 0xbf, 0x96, 0x61, 0xbb, 0x81, 0xf9, 0x7a, 0xf2, 0x26, 0xeb, 0x1c, 0x0d, 0x7f, 0x64, 0xf7, 0x31, 0xf4, 0xa5, 0x11, 0x49, 0x4b, 0x98, 0xf9, 0x3a, 0xf3, 0xee, 0x97, 0x4a, 0x63, 0xec, 0xb2, 0x9d, 0x6f, 0xc6, 0xbb, 0x35, 0xd7, 0x86, 0x76, 0x49, 0x07, 0x9b, 0x1a, 0x76, 0x94, 0x89, 0xe2, 0x00, 0x56, 0x07, 0xb3, 0x41, 0x58, 0xd9, 0x28, 0x79, 0x39, 0xef, 0x1e, 0x25, 0xe9, 0x2e, 0xa4, 0xd5, 0xab, 0x14, 0x9c, 0x39, 0x45, 0x98, 0xbd, 0xbc, 0x3c, 0xa2, 0x0e, 0x53, 0x9b, 0xf3, 0x99, 0xa9, 0xa4, 0xa7, 0xcf, 0x74, 0x86, 0x83, 0xe9, 0x09, 0x36, 0x43, 0x4a, 0x61, 0x4e, 0x07, 0x4a, 0xa6, 0x9f, 0x61, 0xd4, 0xcb, 0x72, 0x06, 0x3b, 0x22, 0xd8, 0x9f, 0xb1, 0x75, 0xf8, 0x6c, 0x6d, 0xb9, 0x55, 0x27, 0x3b, 0xe4, 0xfa, 0x33, 0x54, 0x50, 0x5c, 0x36, 0x57, 0xbb, 0xce, 0xad, 0x41, 0x6a, 0x8a, 0x59, 0xf0, 0x9e, 0x99, 0x08, 0xd6, 0x5d, 0x74, 0x49, 0x1d, 0x6e, 0x67, 0x68, 0x9e, 0x7f, 0x5b, 0xd7, 0x0d, 0xac, 0x21, 0x11, 0xff, 0xbc, 0x12, 0x33, 0xb3, 0x65, 0xb6, 0x2c, 0xab, 0xbb, 0x60, 0x22, 0x27, 0x50, 0x3e, 0xc8, 0xf0, 0x94, 0xd3, 0x22, 0x3a, 0x80, 0x7c, 0x54, 0x97, 0x20, 0x19, 0x01, 0xe4, 0x53, 0xb7, 0x76, 0x20, 0x94, 0x26, 0xc3, 0x80, 0x8c, 0xfd, 0xed, 0x1c, 0xb6, 0x6a, 0x40, 0xc1, 0xd1, 0xc3, 0xb6, 0xbd, 0x58, 0x53, 0x13, 0x71, 0xe1, 0xd0, 0xff, 0x2f, 0x52, 0xe2, 0x3a, 0x45, 0xd6, 0x3a, 0x21, 0x48, 0x0f, 0x5e, 0xda, 0x26, 0x72, 0x7f, 0xf2, 0x68, 0x74, 0xd0, 0x22, 0xf7, 0xe2, 0x8e, 0x02, 0x05, 0x71, 0x1e, 0x72, 0x61, 0x14, 0xc7, 0x9a, 0xe7, 0x6c, 0x76, 0x71, 0x9e, 0x5f, 0xae, 0xab, 0x8c, 0x35, 0x38, 0xc4, 0x16, 0x34, 0xa4, 0x40, 0x4a, 0xd1, 0x55, 0x09, 0x4f, 0xbc, 0x11, 0xa6, 0xd9, 0x62, 0x3e, 0xe8, 0x0c, 0x07, 0xf3, 0x05, 0xd4, 0x4f, 0xd3, 0x07, 0xd3, 0x34, 0x66, 0x0a, 0x06, 0x2b, 0x32, 0x51, 0x62, 0x97, 0x86, 0xa1, 0x24, 0xe4, 0x8a, 0x4e, 0xa6, 0x8b, 0x34, 0x5f, 0x82, 0x4c, 0xc5, 0xd5, 0x3a, 0x8a, 0x5d, 0x0b, 0x32, 0x30, 0xe8, 0xed, 0x09, 0x99, 0xbe, 0x55, 0x4d, 0x92, 0x19, 0xa7, 0xaa, 0x9a, 0x33, 0x1b, 0x96, 0x57, 0xd9, 0xf4, 0x93, 0x32, 0x2f, 0x55, 0x39, 0xbb, 0x74, 0x4c, 0x31, 0x06, 0xd8, 0xd7, 0xe6, 0xa9, 0x75, 0x4d, 0xd7, 0xa4, 0xae, 0x73, 0x72, 0x9f, 0x91, 0x39, 0xb8, 0x9e, 0xc2, 0x4a, 0xc4, 0x85, 0x31, 0xd4, 0xad, 0x1c, 0x30, 0x31, 0x2c, 0xb5, 0x98, 0x0d, 0x9b, 0x2a, 0x5f, 0xf5, 0xcd, 0x8e, 0x4f, 0xa5, 0xad, 0xa0, 0xd6, 0x62, 0xb1, 0xc3, 0x18, 0x66, 0xf3, 0x78, 0x9a, 0x74, 0x76, 0xb3, 0x4b, 0x94, 0xd8, 0xdb, 0x01, 0xf9, 0x83, 0x72, 0xa3, 0x2f, 0xb0, 0xb1, 0x04, 0x77, 0xa7, 0x31, 0x8d, 0x44, 0x70, 0x19, 0x2b, 0x2e, 0x9f, 0x42, 0x09, 0xca, 0x2f, 0x33, 0x8a, 0xe5, 0x18, 0x59, 0xd6, 0x2c, 0x8c, 0x6a, 0x14, 0xd2, 0xb8, 0xf9, 0x4d, 0x76, 0x59, 0x36, 0xa4, 0x8d, 0x04, 0x64, 0xf2, 0x01, 0x7c, 0xde, 0xd2, 0x84, 0xaa, 0xfd, 0xbe, 0x4e, 0x96, 0xb3, 0x3e, 0x6e, 0x3e, 0xcd, 0x6a, 0xbf, 0x78, 0x1c, 0xea, 0xc6, 0xdc, 0xac, 0xee, 0xa9, 0x9b, 0xd1, 0xa6, 0x19, 0x6c, 0x2f, 0x28, 0x8e, 0xaa, 0xb7, 0xaa, 0xc2, 0x4f, 0x2c, 0x81, 0x74, 0xe4, 0xe6, 0x26, 0x9f, 0x66, 0xea, 0x8e, 0x13, 0x1f, 0xf5, 0x22, 0x0f, 0x59, 0xfd, 0x92, 0xee, 0xa4, 0x79, 0x89, 0x75, 0x72, 0xf2, 0x9e, 0xdc, 0xe4, 0xa4, 0xb3, 0x0b, 0xd3, 0x83, 0x4a, 0x26, 0xe2, 0x20, 0xad, 0x72, 0xb8, 0x8a, 0xcc, 0x70, 0x32, 0x4f, 0xcf, 0xa2, 0xf7, 0xef, 0x18, 0xcf, 0x1b, 0xef, 0x8b, 0x19, 0xe3, 0xcc, 0x17, 0x5c, 0xae, 0x79, 0x9a, 0x2f, 0x22, 0xfb, 0x04, 0x46, 0x76, 0x99, 0xc1, 0xab, 0xc6, 0x67, 0xb0, 0xa6, 0x4d, 0xa7, 0xb8, 0x5b, 0xc8, 0xa4, 0xb2, 0x8c, 0xed, 0x09, 0x18, 0x1f, 0xb7, 0x77, 0x76, 0x7b, 0xa1, 0xb4, 0xf1, 0xd9, 0xc9, 0xdf, 0xf9, 0xf8, 0xbc, 0xeb, 0x99, 0xd2, 0xa8, 0xe9, 0x8a, 0x02, 0x4c, 0xdd, 0x1b, 0x4a, 0xa6, 0x17, 0xc5, 0x28, 0x77, 0xd5, 0x83, 0x9c, 0x89, 0xff, 0xdc, 0xc6, 0xf6, 0xc0, 0x90, 0x88, 0xa7, 0xc9, 0x15, 0xe6, 0x71, 0x84, 0x03, 0x77, 0x79, 0xb9, 0x91, 0xaf, 0x46, 0x1c, 0x83, 0x87, 0xb6, 0x28, 0xb6, 0x34, 0xec, 0xcb, 0x46, 0x98, 0xc8, 0xe3, 0x2b, 0xbc, 0x0e, 0x86, 0x16, 0xee, 0x6c, 0x8c, 0x97, 0x93, 0xe9, 0x47, 0x7a, 0x32, 0x4b, 0x99, 0x41, 0xc2, 0x7a, 0x1d, 0x33, 0xab, 0x29, 0xfb, 0x80, 0x45, 0x87, 0x60, 0x51, 0x83, 0xa9, 0xce, 0x17, 0xe9, 0x25, 0xdc, 0x6b, 0x97, 0xdd, 0x1b, 0x5a, 0x94, 0x12, 0xe8, 0xab, 0x4b, 0xc3, 0xde, 0x69, 0xd5, 0xe2, 0xda, 0xaa, 0x93, 0x1d, 0x43, 0x64, 0x8b, 0x35, 0xc4, 0xfd, 0x99, 0x59, 0xde, 0x78, 0xfc, 0xf5, 0xae, 0xcf, 0xde, 0xb0, 0xbb, 0x0f, 0x61, 0x6e, 0xc4, 0x9d, 0x60, 0x84, 0xff, 0x99, 0xcf, 0xa3, 0xcd, 0xe0, 0xac, 0x75, 0xe7, 0x6b, 0x72, 0x4a, 0x97, 0xb4, 0x0a, 0x72, 0x85, 0x8e, 0xec, 0xd5, 0xa7, 0x27, 0xd5, 0x23, 0xcb, 0x84, 0xdd, 0x52, 0x10, 0xd6, 0xf5, 0x1a, 0xce, 0x29, 0xc8, 0xe3, 0xee, 0x70, 0x86, 0xd9, 0x1b, 0x56, 0xb4, 0x2e, 0xe8, 0x4f, 0xab, 0x43, 0xe7, 0xb0, 0xe6, 0xe8, 0x2c, 0x2a, 0x72, 0x81, 0x93, 0x1d, 0x6c, 0x75, 0x50, 0xc3, 0x53, 0x74, 0x6c, 0xda, 0xcb, 0xee, 0x25, 0x34, 0x1a, 0x1a, 0xd8, 0x8d, 0x11, 0xa1, 0x46, 0x30, 0xd3, 0x85, 0xeb, 0xe1, 0xde, 0x3b, 0xf5, 0xda, 0xf0, 0x17, 0x32, 0x1d, 0x84, 0x79, 0x10, 0x3d, 0x76, 0x67, 0xc7, 0xec, 0xc5, 0x48, 0x1a, 0x8f, 0x8f, 0xec, 0xfe, 0xd2, 0x17, 0x04, 0x87, 0xe6, 0x9f, 0xa2, 0x11, 0xbf, 0x99, 0x31, 0xc8, 0xa0, 0x92, 0x05, 0xda, 0xd8, 0xc5, 0xe9, 0x38, 0x76, 0x98, 0xed, 0xf8, 0x14, 0xbd, 0x4f, 0xcc, 0x96, 0xdc, 0x88, 0xec, 0x56, 0x2d, 0xc9, 0x28, 0xf0, 0x62, 0x54, 0xbe, 0xbf, 0x6f, 0x95, 0x51, 0x30, 0x8b, 0xed, 0x65, 0x0e, 0x7e, 0x13, 0x03, 0x23, 0x61, 0x4d, 0xda, 0x89, 0x75, 0xa1, 0xbe, 0x7a, 0xe9, 0x8f, 0x0b, 0x9f, 0x69, 0xf7, 0x22, 0x78, 0xbf, 0xdf, 0xa9, 0x77, 0x2d, 0x0f, 0x33, 0xa3, 0x9c, 0x1f, 0xbf, 0x85, 0xfd, 0x9a, 0x1a, 0xba, 0x79, 0xa7, 0xee, 0x4a, 0x8d, 0x6d, 0x4f, 0xd6, 0xf9, 0xa2, 0x15, 0x13, 0x70, 0x26, 0x37, 0x02, 0xcb, 0x4c, 0x5a, 0x98, 0x1a, 0x47, 0xb7, 0x72, 0xb8, 0x87, 0xbb, 0x84, 0xd6, 0xdc, 0xad, 0xc4, 0xb3, 0xbd, 0xae, 0x5b, 0x0e, 0x24, 0x95, 0xcb, 0x8b, 0x06, 0x5a, 0x36, 0xd9, 0xb5, 0xde, 0x98, 0xc1, 0x09, 0x61, 0x5a, 0x24, 0x06, 0x2e, 0x8b, 0xfc, 0x1f, 0xa2, 0x83, 0x66, 0xc5, 0x75, 0x5e, 0x95, 0x05, 0x69, 0xb9, 0xc6, 0xf4, 0xad, 0x72, 0xb0, 0x65, 0x52, 0xbf, 0x0c, 0xe3, 0xd8, 0x7e, 0xf5, 0xe1, 0xfd, 0xe9, 0xc7, 0x57, 0x2f, 0x3f, 0xfe, 0xf9, 0xc3, 0xbb, 0xd7, 0xa7, 0xc7, 0xdb, 0x9d, 0xe1, 0xc8, 0xe7, 0x97, 0x8b, 0xa3, 0xbe, 0x26, 0xcb, 0x03, 0x97, 0xc4, 0x4c, 0x91, 0x47, 0xbe, 0xcc, 0xaf, 0x0d, 0x43, 0x83, 0x21, 0x01, 0x1f, 0x3d, 0xfe, 0x06, 0xaf, 0x96, 0x6c, 0x78, 0x67, 0xb8, 0xc9, 0x9a, 0xf4, 0xb4, 0x51, 0x4b, 0x5b, 0xd6, 0xab, 0x22, 0x56, 0xbb, 0x4e, 0x30, 0xa2, 0x61, 0x93, 0x16, 0x55, 0xcc, 0xc8, 0x7c, 0xf1, 0x8c, 0x44, 0xcf, 0x5d, 0xbf, 0x6e, 0x8c, 0x95, 0xa4, 0x01, 0x02, 0xa3, 0xb5, 0x95, 0x9f, 0x34, 0xcb, 0xc0, 0x98, 0x58, 0x2f, 0x23, 0xc7, 0x5d, 0x3b, 0x4d, 0x74, 0x96, 0x6c, 0xd3, 0x48, 0x86, 0x7e, 0x87, 0x32, 0xc9, 0x69, 0xd5, 0x18, 0xfb, 0x26, 0xcb, 0x71, 0x31, 0x34, 0x8a, 0x4a, 0x3a, 0x2b, 0x9c, 0x73, 0x81, 0x86, 0x6d, 0x74, 0x4d, 0xda, 0x03, 0x68, 0xf7, 0xd9, 0x6d, 0x86, 0x9b, 0x27, 0x6f, 0xbd, 0x5a, 0x57, 0xb8, 0xcd, 0xdf, 0x19, 0x6d, 0x84, 0xb8, 0xdf, 0x6b, 0x78, 0xf7, 0xcc, 0x0b, 0xfa, 0x90, 0x11, 0x33, 0x5d, 0x91, 0x57, 0x2e, 0x28, 0xae, 0x9a, 0xc2, 0x93, 0x02, 0xbf, 0xd7, 0xf9, 0xcb, 0x8b, 0xaf, 0xa3, 0xca, 0xac, 0x4b, 0xe9, 0x11, 0x52, 0x84, 0x62, 0x5e, 0x37, 0x72, 0x41, 0xde, 0x8d, 0xc7, 0x09, 0x12, 0x46, 0x16, 0xf9, 0xa4, 0x4a, 0xe9, 0x9b, 0xf4, 0x63, 0xfa, 0xa9, 0x21, 0xeb, 0xce, 0x70, 0xe7, 0xdf, 0xbc, 0x1a, 0xff, 0xee, 0xe0, 0x80, 0xb4, 0xf8, 0xb5, 0xd9, 0x97, 0x1d, 0xf3, 0x4a, 0x51, 0x9b, 0x9b, 0xb9, 0x1c, 0xd5, 0xe5, 0x2e, 0xc4, 0x76, 0x2d, 0xea, 0x40, 0x7a, 0x6d, 0xa4, 0x2d, 0xe8, 0x48, 0x89, 0xda, 0x1c, 0x67, 0xb0, 0x27, 0x60, 0x74, 0x92, 0x4d, 0x63, 0xf8, 0x85, 0x91, 0xd7, 0x8b, 0x50, 0x21, 0xdf, 0xc9, 0xcf, 0xc6, 0x92, 0x8b, 0x92, 0x4e, 0xcd, 0x5f, 0xc9, 0x51, 0xb0, 0x4b, 0x2b, 0x6b, 0xdf, 0x30, 0x5d, 0xd5, 0x98, 0xb5, 0xd1, 0x0b, 0x32, 0x5f, 0x90, 0x42, 0x13, 0x72, 0x85, 0xa2, 0x7b, 0xb9, 0x5c, 0x9a, 0x12, 0xc8, 0x61, 0x92, 0x4e, 0x3f, 0xdd, 0xa4, 0xd5, 0x8c, 0xed, 0x21, 0x43, 0x31, 0x93, 0x7c, 0x91, 0x37, 0x77, 0x6c, 0xd7, 0x76, 0x6d, 0x6a, 0x8e, 0x8f, 0xd2, 0x06, 0x9a, 0x7b, 0x74, 0x69, 0x4c, 0x7e, 0xd2, 0x3e, 0x49, 0xc5, 0xcf, 0x1b, 0xdf, 0xa4, 0x85, 0x8a, 0xd4, 0x58, 0x15, 0xc7, 0x7e, 0x3b, 0x10, 0x8f, 0x0d, 0xdf, 0x23, 0x4c, 0xd3, 0xd1, 0xae, 0xb2, 0x41, 0x9f, 0x49, 0x29, 0xf9, 0x24, 0xf5, 0x9d, 0x91, 0xf2, 0xcb, 0x24, 0xa2, 0x22, 0x22, 0x7b, 0x28, 0xf9, 0x26, 0xbb, 0x33, 0xf6, 0x73, 0x5e, 0x38, 0x4e, 0xc9, 0xf6, 0x7d, 0x46, 0xd6, 0x1d, 0xeb, 0xa2, 0xb9, 0x3a, 0xd3, 0x33, 0x89, 0x87, 0xb0, 0x24, 0x09, 0x1d, 0x08, 0xfc, 0xbe, 0xea, 0xe1, 0x34, 0xc4, 0x76, 0xdd, 0x62, 0xc9, 0xf8, 0x52, 0x78, 0x88, 0x63, 0xf3, 0xf3, 0xa2, 0xc8, 0x16, 0x72, 0x7c, 0x17, 0x9b, 0x0e, 0xc0, 0x3e, 0x6b, 0xa6, 0xfc, 0x1d, 0xdf, 0xe8, 0xce, 0x70, 0x4f, 0x39, 0xb8, 0x9f, 0x36, 0x2a, 0x93, 0x34, 0x6b, 0xc8, 0x58, 0x45, 0xfb, 0xf6, 0x57, 0xa3, 0xde, 0xcf, 0x04, 0xb7, 0xa9, 0x72, 0x87, 0xde, 0x3e, 0x73, 0x76, 0x8a, 0xe2, 0x90, 0xe9, 0x8c, 0xe5, 0x88, 0xff, 0x68, 0x35, 0x2b, 0x04, 0x30, 0x3a, 0xc3, 0xf9, 0x5a, 0xb6, 0xca, 0x30, 0x59, 0xc7, 0xb6, 0xd1, 0x53, 0xcb, 0x0a, 0xfe, 0xa2, 0xaa, 0x34, 0x67, 0xdd, 0x3a, 0xcf, 0x1d, 0x56, 0x36, 0xba, 0xd7, 0x44, 0xb8, 0xb9, 0xb7, 0x31, 0xbb, 0xb1, 0x8b, 0x1e, 0x68, 0x26, 0xa1, 0xc9, 0xda, 0x6b, 0x71, 0xb6, 0x25, 0x34, 0xb8, 0xf4, 0x0b, 0xc3, 0xc6, 0xfe, 0x75, 0x01, 0xcd, 0xcc, 0x10, 0xcc, 0x2f, 0x94, 0x59, 0x42, 0x8b, 0x2d, 0x41, 0xfd, 0x56, 0x25, 0x32, 0x4d, 0xc2, 0xba, 0x60, 0x57, 0x9c, 0x30, 0xc0, 0x8a, 0x23, 0xfb, 0x92, 0x43, 0x33, 0x80, 0xdc, 0x81, 0xe2, 0x72, 0x7c, 0xbe, 0x95, 0xec, 0x64, 0xa3, 0x4b, 0x33, 0xde, 0x16, 0x8d, 0x73, 0xf0, 0x9c, 0xfe, 0x7b, 0x88, 0xff, 0x1e, 0x6d, 0x69, 0x6a, 0x9f, 0xbf, 0xf5, 0x24, 0xcd, 0xbb, 0xb2, 0x88, 0xe3, 0x71, 0x4e, 0xb8, 0x0f, 0xd8, 0xc7, 0xdc, 0xc7, 0x78, 0x58, 0x67, 0x3d, 0xe5, 0x5d, 0x0e, 0xd5, 0x2d, 0xdd, 0x86, 0x25, 0xfb, 0x23, 0xae, 0x33, 0x76, 0x88, 0x98, 0x95, 0x4d, 0x8d, 0x7a, 0x08, 0x37, 0xa2, 0xde, 0xaa, 0xe9, 0xc7, 0x2a, 0xbb, 0x4a, 0xeb, 0xab, 0x64, 0xdd, 0x30, 0x11, 0x1a, 0xba, 0xed, 0x0e, 0xb7, 0x5a, 0xe4, 0xce, 0xd3, 0x26, 0x9f, 0x1e, 0xa9, 0xdd, 0xe7, 0x4e, 0x91, 0x23, 0x20, 0x8b, 0xf2, 0x46, 0x9f, 0x19, 0x4a, 0xae, 0x5d, 0x4c, 0x2d, 0x30, 0xa7, 0x09, 0xbf, 0x09, 0x3d, 0xe6, 0x47, 0xb2, 0x97, 0xa4, 0x4d, 0x52, 0x22, 0xa0, 0x61, 0x71, 0x73, 0xb3, 0x63, 0x64, 0xd1, 0x2d, 0x70, 0x6e, 0x64, 0xbb, 0x62, 0xde, 0x81, 0x69, 0x2a, 0x7a, 0x5e, 0x3e, 0x17, 0xef, 0xad, 0xfc, 0x1b, 0xf2, 0x54, 0xb4, 0xaf, 0x9a, 0xa3, 0xdd, 0x5d, 0xd5, 0xeb, 0x7e, 0xd2, 0x56, 0x06, 0x69, 0x35, 0x1d, 0x59, 0x2c, 0x07, 0x4c, 0x94, 0xae, 0xf3, 0x4b, 0xd8, 0x1a, 0x31, 0x07, 0x06, 0x3b, 0xa5, 0xfe, 0xa5, 0x4b, 0x62, 0x66, 0x3c, 0x24, 0x7f, 0xe9, 0xba, 0x7e, 0xc0, 0x1d, 0xf1, 0x98, 0x2e, 0xbf, 0x63, 0xfd, 0xc5, 0x1c, 0xd5, 0xf7, 0x37, 0xa0, 0x4b, 0x85, 0x77, 0x1e, 0x61, 0xbc, 0xf2, 0x6e, 0xd6, 0x98, 0x07, 0x7a, 0x2f, 0x2e, 0x92, 0x9d, 0xf4, 0x53, 0x3a, 0x4a, 0xce, 0x5e, 0x8d, 0xcf, 0xe9, 0x13, 0x86, 0x3a, 0x8a, 0x4b, 0x33, 0x8b, 0xd3, 0x71, 0x67, 0xb8, 0xec, 0xb6, 0xc9, 0x8a, 0x3a, 0xe6, 0xa0, 0x0c, 0xb7, 0x59, 0xa3, 0x08, 0x9a, 0x5e, 0x23, 0x93, 0x35, 0x96, 0x3e, 0xe2, 0xe2, 0x14, 0xe6, 0xa5, 0x1c, 0x8c, 0x84, 0xaf, 0x5a, 0xf0, 0xa1, 0x95, 0xb9, 0xf9, 0xb3, 0x5d, 0xeb, 0xaa, 0x19, 0x28, 0x2d, 0xd8, 0x70, 0x61, 0xbd, 0xbe, 0x24, 0x1b, 0xa4, 0x56, 0xbb, 0xd1, 0x7e, 0xc1, 0xec, 0x46, 0xa8, 0x2a, 0xc8, 0xb2, 0xad, 0x27, 0xd1, 0x58, 0x4d, 0x94, 0x49, 0x05, 0x15, 0xa9, 0x28, 0xdd, 0xa8, 0x94, 0x4d, 0x81, 0xac, 0xd1, 0x1c, 0x01, 0xb6, 0x69, 0x66, 0x54, 0xd0, 0x59, 0x44, 0x09, 0xe0, 0x43, 0x51, 0xc3, 0x69, 0x2e, 0x99, 0xa2, 0x11, 0xff, 0x0f, 0x06, 0x9a, 0xb2, 0x8a, 0x46, 0x54, 0x8f, 0x40, 0x45, 0x4e, 0x7e, 0x52, 0x52, 0x98, 0xd9, 0x54, 0xa7, 0xf1, 0xec, 0xfd, 0xff, 0xaa, 0x58, 0x9b, 0x8d, 0x8f, 0x48, 0x63, 0x52, 0xaa, 0x48, 0xcc, 0xd0, 0x06, 0x6e, 0x72, 0xec, 0x3d, 0x3a, 0x68, 0xfb, 0xb1, 0x41, 0x6c, 0xc6, 0x00, 0xc8, 0x92, 0x17, 0xf4, 0xdf, 0x7b, 0xb9, 0x32, 0x52, 0x57, 0xf0, 0xbc, 0xc4, 0x3b, 0x99, 0x77, 0x8a, 0x2f, 0x26, 0x69, 0x33, 0xe8, 0x40, 0x7a, 0x81, 0xdc, 0x46, 0xc4, 0xf7, 0x06, 0xc9, 0x6b, 0x4a, 0xc8, 0x3e, 0x7e, 0xf7, 0x15, 0x68, 0xe0, 0xfc, 0xe0, 0x10, 0xd1, 0x25, 0x6b, 0x3d, 0xcc, 0xf0, 0x91, 0x9a, 0x1d, 0x09, 0x1c, 0x1d, 0x0e, 0x15, 0x5f, 0xc8, 0x84, 0x01, 0xd8, 0x28, 0x85, 0x05, 0x91, 0x3d, 0x34, 0xfb, 0xf5, 0xe4, 0x57, 0x60, 0x88, 0x1e, 0x0f, 0x64, 0x07, 0xc5, 0x31, 0xf3, 0x29, 0xbb, 0x73, 0x7f, 0xc3, 0xae, 0x7a, 0x5b, 0xed, 0x1e, 0x7e, 0xe1, 0x6d, 0xd2, 0x5f, 0x9f, 0x53, 0x86, 0x92, 0xd1, 0x52, 0x67, 0x3f, 0xfe, 0x3c, 0x89, 0x18, 0xdf, 0xf9, 0x88, 0xb3, 0x05, 0x7e, 0x2e, 0xcd, 0x05, 0xe2, 0xd0, 0x3f, 0xb3, 0x78, 0x49, 0x87, 0xa7, 0x4c, 0x79, 0x22, 0xf8, 0xb4, 0xb0, 0x2a, 0xc9, 0x90, 0x13, 0xc0, 0x90, 0x10, 0xd6, 0xdd, 0xfb, 0x69, 0xb9, 0x08, 0x64, 0x5d, 0xcb, 0x70, 0x85, 0x3e, 0x7f, 0x28, 0xf2, 0x0d, 0xc6, 0x1c, 0x33, 0x1b, 0xd1, 0xa2, 0xbb, 0xd7, 0xc1, 0xea, 0xd4, 0x50, 0xbf, 0x9c, 0x64, 0xa4, 0x37, 0xf9, 0x45, 0x84, 0xb9, 0x31, 0x35, 0xd6, 0x94, 0x46, 0x89, 0xd3, 0x78, 0x63, 0xea, 0xbf, 0x39, 0x5b, 0xdd, 0x5b, 0x73, 0xe8, 0xe4, 0x67, 0xb2, 0xbb, 0x36, 0xf0, 0x3d, 0x4d, 0x86, 0xc9, 0x55, 0xb9, 0xea, 0xe7, 0x92, 0x4c, 0x1a, 0xc6, 0x30, 0x38, 0xe3, 0x40, 0xbc, 0x51, 0x92, 0x59, 0xd5, 0xf2, 0xe5, 0x33, 0xf9, 0x91, 0x25, 0xba, 0xe5, 0x6d, 0xc9, 0x56, 0xec, 0x28, 0x1a, 0x0e, 0x7e, 0xca, 0x15, 0xca, 0xaf, 0x69, 0xeb, 0x94, 0x76, 0x9c, 0x63, 0xb3, 0xad, 0xfa, 0x96, 0x05, 0xfd, 0x59, 0x90, 0x4f, 0xec, 0xdf, 0x22, 0x04, 0x19, 0xa5, 0x45, 0xf2, 0x8d, 0x4b, 0xec, 0x03, 0x0a, 0x0c, 0x25, 0x41, 0x4a, 0x16, 0xfa, 0xe2, 0xee, 0x41, 0x06, 0x9d, 0x2a, 0x20, 0x6a, 0xb7, 0x79, 0xc6, 0x5c, 0x60, 0xed, 0x74, 0x09, 0xc4, 0xb0, 0xf1, 0x86, 0x52, 0x4a, 0x98, 0x76, 0xc9, 0xf7, 0x9a, 0x4f, 0x3f, 0x21, 0xf2, 0x22, 0x12, 0xca, 0x5f, 0x9f, 0xe6, 0xed, 0x71, 0xc6, 0x69, 0xe4, 0x08, 0x60, 0x4b, 0x92, 0x53, 0x98, 0x68, 0x92, 0xa4, 0x73, 0x5e, 0xb0, 0xce, 0xd6, 0xeb, 0x65, 0x30, 0x73, 0xfd, 0xf8, 0xfa, 0xe4, 0x7d, 0xb2, 0x43, 0x1a, 0x78, 0xd7, 0xc8, 0x55, 0xf1, 0xbe, 0x97, 0x35, 0xd3, 0xbd, 0xd5, 0xa7, 0x7c, 0xcf, 0x18, 0x9b, 0xb3, 0xc9, 0xae, 0x35, 0xa2, 0xf0, 0x39, 0xa2, 0x42, 0x6b, 0x98, 0xaa, 0x65, 0x0a, 0xd3, 0x34, 0x70, 0x3d, 0x3a, 0x53, 0x95, 0x2b, 0x5c, 0xac, 0x8d, 0xca, 0xdb, 0xc4, 0x04, 0x8d, 0x10, 0x0d, 0x67, 0x47, 0x20, 0xb0, 0x93, 0xb1, 0x5f, 0xda, 0xd8, 0xd8, 0xdd, 0xbb, 0xca, 0xd9, 0x8f, 0xe2, 0xc8, 0x61, 0x07, 0x8e, 0xa6, 0xec, 0x89, 0xb8, 0x70, 0xda, 0xef, 0x80, 0x92, 0x2d, 0x69, 0x53, 0x56, 0x24, 0x92, 0x66, 0xe4, 0x06, 0xec, 0x0e, 0x07, 0x4d, 0x6e, 0x6b, 0xb4, 0xb7, 0x95, 0xd8, 0xf4, 0x52, 0xb3, 0xcb, 0x9c, 0x3f, 0x6d, 0x03, 0x5f, 0x86, 0xc4, 0xe6, 0xeb, 0xda, 0xfa, 0x31, 0x53, 0x7b, 0x5e, 0xa3, 0x18, 0x43, 0xf5, 0x8e, 0xd3, 0xea, 0x5c, 0x46, 0x37, 0xc6, 0xcd, 0xf2, 0xad, 0x75, 0x99, 0x14, 0x8e, 0x6a, 0xeb, 0x87, 0xad, 0xc4, 0x4b, 0x4f, 0x6c, 0x65, 0x29, 0xe6, 0x2e, 0x81, 0xc8, 0x13, 0x02, 0x46, 0x22, 0xdb, 0x3b, 0x3c, 0xcb, 0x16, 0xf9, 0x32, 0x87, 0xed, 0xe5, 0x4f, 0x61, 0x18, 0x0b, 0x10, 0xba, 0x29, 0xfd, 0x10, 0x4e, 0x49, 0x53, 0x7e, 0x53, 0xfa, 0xb5, 0x99, 0x12, 0x3c, 0x62, 0x9c, 0x91, 0x19, 0xb7, 0x9a, 0xdb, 0x13, 0xb2, 0x49, 0xc3, 0x1b, 0x22, 0xc7, 0xf6, 0x2e, 0xf5, 0xa9, 0xf2, 0xce, 0x25, 0xa2, 0x97, 0x9e, 0x99, 0x5a, 0xb2, 0xfa, 0x34, 0xad, 0x0f, 0x0e, 0xba, 0x82, 0xae, 0x76, 0x14, 0x25, 0xf6, 0x7b, 0x6a, 0x09, 0xf3, 0xc3, 0xfb, 0x93, 0x64, 0x87, 0x8a, 0x44, 0x9e, 0x3e, 0x3e, 0x38, 0xdc, 0xf5, 0x33, 0x4b, 0x94, 0x01, 0x84, 0x72, 0xf3, 0x8e, 0x43, 0xb2, 0xde, 0x05, 0x5c, 0x94, 0xd3, 0x54, 0x34, 0x0e, 0x37, 0xf4, 0x2c, 0xbb, 0xce, 0xa7, 0x54, 0xa3, 0x43, 0x01, 0x79, 0xe2, 0xc1, 0x93, 0xcc, 0x4c, 0x32, 0xd8, 0x71, 0x97, 0xd1, 0xcb, 0xb3, 0x37, 0x26, 0x92, 0xd5, 0x94, 0x29, 0x6f, 0xda, 0xd0, 0x40, 0x23, 0x7b, 0xe7, 0xcf, 0x5a, 0xa2, 0x04, 0x69, 0x8f, 0x27, 0x88, 0xd6, 0xc5, 0x15, 0x34, 0xd0, 0x31, 0x06, 0x2e, 0xf0, 0x33, 0x1c, 0xca, 0x66, 0x09, 0xeb, 0xb5, 0xb1, 0x63, 0xca, 0x40, 0xe9, 0x1e, 0xa0, 0xcc, 0x69, 0x8b, 0x04, 0x49, 0x01, 0xe1, 0x9e, 0xba, 0x41, 0xed, 0xee, 0xfb, 0x9a, 0x50, 0x7b, 0xd4, 0xd0, 0x53, 0x0e, 0xc2, 0x31, 0x9a, 0x4b, 0x7c, 0xc8, 0xdf, 0xc8, 0xc9, 0xd4, 0x66, 0x9f, 0x72, 0x3c, 0x74, 0xf6, 0xe2, 0x35, 0x9c, 0xb0, 0xa2, 0xa0, 0xfc, 0x36, 0xd5, 0xc7, 0x03, 0x39, 0x6e, 0x5e, 0xdf, 0x53, 0x21, 0x04, 0x29, 0xa4, 0xfe, 0x46, 0xf6, 0xfc, 0x18, 0xe6, 0x09, 0x4f, 0xcf, 0x27, 0x71, 0xf4, 0x40, 0x29, 0xb6, 0x29, 0x1c, 0xa1, 0xaf, 0x58, 0x05, 0xbf, 0x39, 0xa2, 0x69, 0x39, 0xeb, 0x98, 0xec, 0xb4, 0x09, 0x9e, 0xc0, 0x03, 0xf7, 0xe3, 0x50, 0x25, 0x38, 0x5e, 0xdc, 0x93, 0x4d, 0x94, 0xca, 0xee, 0xf5, 0x9f, 0xc4, 0x03, 0x63, 0x1e, 0x35, 0xb0, 0xc0, 0x9f, 0xc5, 0x01, 0xef, 0xf1, 0x39, 0xbd, 0x0a, 0x24, 0x76, 0x6d, 0x95, 0x21, 0xa7, 0xab, 0x51, 0xb2, 0x78, 0x82, 0x8d, 0x0b, 0x2d, 0x1a, 0x4a, 0x1b, 0x44, 0x4a, 0x00, 0xe5, 0x7c, 0x75, 0xee, 0x26, 0x3b, 0x76, 0xcc, 0x75, 0xd9, 0x39, 0xe5, 0x20, 0x65, 0x72, 0xfe, 0xe6, 0x7b, 0xe5, 0x96, 0x31, 0x03, 0x1e, 0x8e, 0xa8, 0x3f, 0xda, 0xec, 0x30, 0x63, 0x51, 0x50, 0xa6, 0x5a, 0x2e, 0x59, 0x9f, 0xec, 0x26, 0x42, 0x38, 0x7c, 0xd7, 0x25, 0x33, 0xd2, 0x56, 0x6f, 0xbd, 0xc0, 0xef, 0xba, 0xb1, 0xa6, 0x92, 0x2d, 0x99, 0x3f, 0xfd, 0xc0, 0xbf, 0x66, 0x1e, 0x6b, 0xfe, 0xd5, 0x5c, 0xad, 0x97, 0x13, 0x73, 0x9e, 0x45, 0xf3, 0xa7, 0xad, 0x84, 0x83, 0xad, 0x73, 0xd9, 0xcf, 0x0d, 0x66, 0x67, 0xae, 0xf5, 0x3a, 0xea, 0x5b, 0x6c, 0xed, 0x1a, 0xcf, 0x4e, 0x6b, 0x07, 0x5c, 0x7e, 0x9e, 0x39, 0x3c, 0xf6, 0x65, 0x07, 0xaa, 0xde, 0x07, 0x43, 0x9e, 0x3f, 0xbc, 0xfd, 0xcb, 0x0f, 0xcf, 0x8e, 0x1e, 0xa5, 0x4f, 0xd3, 0xe9, 0x93, 0xf9, 0xe7, 0xe9, 0xe3, 0xd9, 0xe3, 0xa7, 0xcf, 0x0e, 0x3f, 0x7f, 0x9c, 0x3e, 0x7d, 0x34, 0x4f, 0x9f, 0x1c, 0x64, 0x07, 0xcf, 0xe6, 0x87, 0x47, 0xb3, 0xd9, 0x3c, 0xfb, 0x7c, 0xf6, 0x34, 0xdd, 0x1a, 0xc1, 0xfc, 0xd2, 0xa9, 0x87, 0xac, 0x56, 0x03, 0x6f, 0x69, 0x32, 0xfe, 0xfa, 0xe5, 0xf0, 0x20, 0xb9, 0xca, 0x6e, 0xf5, 0x82, 0xb1, 0x47, 0xd3, 0x66, 0xdd, 0x65, 0x92, 0x57, 0xdd, 0xbf, 0x58, 0x2d, 0x14, 0xa4, 0xac, 0x69, 0xf2, 0x95, 0x40, 0x03, 0xe6, 0x5d, 0xd4, 0x6d, 0xe5, 0xbc, 0x3a, 0xeb, 0x3f, 0x7c, 0xae, 0x3e, 0x7b, 0x5a, 0x57, 0xf7, 0xf2, 0x9f, 0x9a, 0x77, 0x16, 0x6f, 0xd3, 0xa9, 0x51, 0x92, 0xcc, 0x9e, 0xc8, 0x83, 0x63, 0x63, 0xda, 0x1a, 0x36, 0x3d, 0x48, 0xe4, 0x2f, 0xe4, 0x25, 0xf6, 0xc6, 0xf8, 0xaa, 0x2a, 0xd7, 0xab, 0xf3, 0x72, 0x91, 0x4f, 0xef, 0x36, 0x0d, 0xe7, 0x3f, 0xd6, 0xfa, 0xc5, 0x31, 0xb3, 0xf0, 0xbc, 0xce, 0x7e, 0x43, 0xd3, 0xca, 0x63, 0xc7, 0x0f, 0xb0, 0xad, 0x86, 0xd3, 0x7c, 0x75, 0x45, 0x71, 0xde, 0x17, 0xc8, 0xf2, 0xa3, 0xd0, 0x0c, 0xff, 0x20, 0x6e, 0x53, 0x8d, 0xe5, 0x46, 0xd6, 0x72, 0x9e, 0xfa, 0xb6, 0x68, 0x5c, 0xb9, 0x96, 0xc0, 0xa9, 0x9b, 0x4a, 0x32, 0x4b, 0xf3, 0xc0, 0x8f, 0xe7, 0x3e, 0xc4, 0xb7, 0x5d, 0xb5, 0x6d, 0x76, 0x5e, 0xc8, 0xaf, 0x46, 0xc9, 0x7b, 0xc4, 0xc9, 0xd7, 0x2b, 0x36, 0x2f, 0xe0, 0xcf, 0xe7, 0xdf, 0x75, 0x2f, 0x1a, 0x4d, 0x5e, 0x28, 0x86, 0x0b, 0xf1, 0xcc, 0x8e, 0x7e, 0x78, 0x7f, 0xfa, 0xbc, 0xbb, 0x4f, 0x28, 0x36, 0xaa, 0x9f, 0xef, 0xed, 0x21, 0xe4, 0x73, 0x95, 0xde, 0xde, 0x8e, 0xea, 0x6c, 0x6f, 0x56, 0x4e, 0xeb, 0xbd, 0xba, 0x5e, 0xe8, 0x6e, 0xb4, 0x6b, 0xff, 0x7e, 0x05, 0x6f, 0x6e, 0xb9, 0x04, 0xdb, 0xca, 0x66, 0xc3, 0xba, 0x0e, 0x72, 0x83, 0xc6, 0xaf, 0x34, 0xf3, 0xe0, 0x58, 0x72, 0xd2, 0x20, 0xe7, 0x86, 0x66, 0x77, 0xc7, 0xe3, 0xaf, 0x13, 0x7d, 0x19, 0xdb, 0x6b, 0x43, 0xe2, 0x36, 0x2f, 0x67, 0x10, 0x51, 0xc3, 0x52, 0x61, 0xd8, 0x7f, 0xf4, 0x1d, 0x3a, 0xa4, 0x4e, 0x97, 0xfc, 0x87, 0xd4, 0xae, 0xe4, 0xcd, 0xc6, 0x44, 0xbe, 0x27, 0x1d, 0x07, 0x88, 0x5d, 0x44, 0x3c, 0xfe, 0xaf, 0x4e, 0xb0, 0x34, 0x71, 0x4f, 0x3a, 0x8f, 0x50, 0xb7, 0x38, 0xdd, 0x50, 0xef, 0x65, 0x59, 0x19, 0xe1, 0xb1, 0xac, 0x63, 0x5e, 0x50, 0xbd, 0xe5, 0x35, 0xab, 0x7d, 0x35, 0xe7, 0x22, 0x9a, 0x61, 0x0a, 0x6f, 0x70, 0x73, 0x8c, 0xc8, 0x61, 0x1c, 0xf9, 0x87, 0x15, 0x8d, 0x6f, 0xe9, 0xe1, 0xf5, 0x79, 0xd1, 0xd6, 0x85, 0x0b, 0x7e, 0x40, 0x1c, 0x9b, 0xc9, 0x4a, 0x61, 0x59, 0x60, 0x21, 0x20, 0xf7, 0x1f, 0x62, 0x82, 0x74, 0x88, 0xaa, 0x2a, 0x3d, 0xa5, 0x76, 0xf8, 0x0d, 0x8c, 0x4b, 0x23, 0x1d, 0xf3, 0x4b, 0x0d, 0xaf, 0xf7, 0xe4, 0xd8, 0x91, 0xe8, 0x6a, 0x90, 0xbb, 0x2c, 0xe5, 0xe0, 0x24, 0x14, 0x28, 0x85, 0x0d, 0xa9, 0x25, 0x92, 0x9d, 0xc9, 0xe9, 0x40, 0xad, 0x2a, 0xf8, 0xe0, 0x26, 0x50, 0xcd, 0x8f, 0x7b, 0x9c, 0xd2, 0xa8, 0xf4, 0x5e, 0x62, 0x78, 0x71, 0x5f, 0x78, 0x89, 0x6d, 0xa4, 0x95, 0xc1, 0xcd, 0x60, 0x9e, 0xe9, 0x5a, 0x7b, 0xc8, 0xb9, 0xb5, 0x3a, 0x5f, 0xac, 0xc4, 0xb5, 0xbb, 0x1e, 0x4d, 0xbd, 0xd7, 0xbd, 0xcd, 0x51, 0x54, 0x9d, 0x22, 0xaf, 0x3f, 0x26, 0xda, 0x4b, 0x2f, 0x48, 0x4b, 0x03, 0x86, 0x32, 0xaf, 0xb1, 0x69, 0x93, 0x5a, 0xa9, 0x04, 0x85, 0xc0, 0x70, 0x20, 0x23, 0xf6, 0x28, 0xe3, 0x9c, 0x4a, 0xe9, 0x17, 0xa5, 0x53, 0xb0, 0x0c, 0xe1, 0x19, 0x5e, 0x88, 0x6a, 0xc4, 0x51, 0xc0, 0xb7, 0xb9, 0x26, 0x89, 0x93, 0x08, 0xb9, 0xb6, 0x8e, 0xb3, 0xbd, 0xf8, 0x67, 0x10, 0x5f, 0x13, 0x8d, 0x91, 0x3b, 0x7e, 0x46, 0xe7, 0x17, 0x73, 0x0d, 0x49, 0x56, 0x3e, 0x17, 0x3a, 0xe6, 0x28, 0xe1, 0x95, 0xa2, 0x4f, 0x2e, 0x32, 0x50, 0xcf, 0x76, 0x5d, 0x4a, 0xca, 0x26, 0x4d, 0x94, 0xe6, 0xc9, 0x73, 0xec, 0x92, 0xba, 0x2d, 0xe8, 0x6c, 0x19, 0x23, 0x69, 0xed, 0x72, 0xf5, 0xeb, 0x30, 0x5a, 0xe9, 0x36, 0x33, 0x66, 0xbd, 0x06, 0x75, 0x0f, 0x98, 0x48, 0x95, 0xe9, 0x17, 0x8a, 0xb2, 0x3b, 0x29, 0x9d, 0x47, 0x2c, 0x1f, 0x55, 0x73, 0xfb, 0xbd, 0x09, 0x68, 0x8e, 0xbf, 0x3d, 0xe5, 0x9e, 0xec, 0xcd, 0x2c, 0x71, 0x8f, 0x24, 0xce, 0xce, 0x74, 0xc7, 0x08, 0x7f, 0x03, 0x2a, 0x36, 0x6a, 0x9e, 0xfa, 0x73, 0x9a, 0xd3, 0x17, 0xbb, 0x31, 0x3f, 0xb1, 0x1b, 0x49, 0x29, 0x8a, 0xee, 0xe9, 0xa2, 0xac, 0x35, 0xfe, 0x42, 0xca, 0x05, 0xd7, 0xdd, 0x1a, 0x6e, 0xf0, 0x9d, 0xfc, 0x80, 0x8f, 0xa6, 0x33, 0x1c, 0x3f, 0x35, 0x90, 0x29, 0xce, 0x9d, 0xb2, 0x21, 0xb6, 0xaa, 0x2b, 0x16, 0x26, 0x6d, 0xc3, 0x5a, 0x93, 0xcf, 0x93, 0x1f, 0x7e, 0x18, 0x24, 0xc6, 0x48, 0xee, 0x0c, 0xf7, 0x43, 0x63, 0x7e, 0x6a, 0x68, 0xf1, 0x07, 0x2e, 0x58, 0xfa, 0xe1, 0x9a, 0x8c, 0x40, 0x72, 0x30, 0xd7, 0x0b, 0x8a, 0x1e, 0xb1, 0x9a, 0xdd, 0xf6, 0xca, 0x71, 0x3d, 0xf4, 0x86, 0xd4, 0x2c, 0x67, 0xb7, 0x73, 0x2a, 0xa6, 0x39, 0xb0, 0xf5, 0xb2, 0x10, 0xeb, 0x84, 0x89, 0x13, 0xf7, 0x1e, 0x72, 0x60, 0xfb, 0x77, 0xdb, 0x8e, 0x90, 0x62, 0x7b, 0x57, 0x65, 0x2c, 0xe9, 0x21, 0xaa, 0x72, 0x4f, 0x4c, 0x69, 0xf5, 0x30, 0xcc, 0xcd, 0x84, 0xc3, 0xa5, 0xc4, 0x4c, 0xcf, 0xc8, 0xb9, 0xce, 0x65, 0x60, 0x5d, 0x31, 0xee, 0x4c, 0x49, 0xaa, 0x8d, 0x5b, 0x5d, 0xdd, 0xd5, 0x94, 0xc9, 0x21, 0xb3, 0x09, 0x6e, 0x4f, 0x6f, 0x82, 0xb1, 0xec, 0x3d, 0x15, 0xf5, 0x10, 0x1f, 0x20, 0xe6, 0xd7, 0x62, 0x9d, 0x66, 0x46, 0xdb, 0xc3, 0x6d, 0x1b, 0x0b, 0x93, 0x7c, 0x99, 0x20, 0x97, 0xde, 0x26, 0x67, 0xbb, 0xe4, 0xc3, 0xe0, 0x93, 0x5e, 0x52, 0x5c, 0xe9, 0xa7, 0x3b, 0xba, 0xe2, 0x76, 0xaa, 0x4e, 0xd5, 0x28, 0xbe, 0x7c, 0x5f, 0xf8, 0x4f, 0xc4, 0xe1, 0x84, 0xb4, 0x48, 0x98, 0x1e, 0x3a, 0x00, 0xbc, 0x21, 0x2e, 0x3c, 0x34, 0x1c, 0x02, 0x67, 0x64, 0xc5, 0xd8, 0x20, 0x44, 0x12, 0xc8, 0x3c, 0xb8, 0xa3, 0x4a, 0xb0, 0xd5, 0x22, 0xe0, 0xb7, 0x92, 0x0a, 0xa8, 0xc5, 0xd6, 0x74, 0xc1, 0x09, 0x90, 0xe2, 0xa6, 0x10, 0x40, 0x81, 0x71, 0x09, 0xaf, 0xcc, 0x14, 0x39, 0x0c, 0x92, 0x2e, 0x23, 0x35, 0x65, 0x11, 0x2b, 0x90, 0x64, 0x60, 0xa0, 0x03, 0xd1, 0x7c, 0xbe, 0x48, 0xb6, 0xfa, 0x35, 0xa1, 0xad, 0xee, 0x1b, 0xc8, 0x80, 0x74, 0x2e, 0x4e, 0xa9, 0x97, 0xc7, 0x44, 0x76, 0x24, 0x93, 0x6e, 0xf8, 0x77, 0x4e, 0x68, 0xe3, 0x92, 0x2e, 0x91, 0xaf, 0xbb, 0x9c, 0x20, 0x5c, 0x47, 0x22, 0xfb, 0x2e, 0xcb, 0xca, 0xa3, 0x0f, 0x97, 0xa7, 0x94, 0xc3, 0x7d, 0x0d, 0xe9, 0xc5, 0xd2, 0xce, 0x7b, 0x3a, 0x08, 0xc5, 0xeb, 0xdb, 0x54, 0x71, 0x42, 0xdf, 0x13, 0x97, 0xb4, 0x8a, 0x0e, 0x7b, 0xa3, 0x57, 0x0b, 0xe0, 0x74, 0x68, 0xad, 0x0b, 0x54, 0xa2, 0x60, 0x77, 0x0e, 0x76, 0x6d, 0x75, 0x24, 0xc0, 0x36, 0x38, 0x33, 0x5b, 0xf4, 0x84, 0xad, 0xab, 0x92, 0x73, 0x89, 0xb6, 0x9e, 0x53, 0xe1, 0x9e, 0xdc, 0x46, 0xac, 0x51, 0x61, 0x10, 0x3a, 0xc3, 0x21, 0x53, 0xeb, 0xeb, 0xb3, 0xb7, 0xc7, 0xed, 0x0c, 0x5c, 0xfc, 0x24, 0xe6, 0x7c, 0x35, 0xec, 0xea, 0x8d, 0xe1, 0x30, 0x4c, 0x03, 0x69, 0xa0, 0xcd, 0x31, 0x6d, 0x99, 0x69, 0x5d, 0x66, 0xcd, 0xea, 0x66, 0x9d, 0xcf, 0x76, 0x76, 0x89, 0x46, 0xa8, 0xdc, 0x64, 0x88, 0x1a, 0x27, 0x36, 0x0d, 0xeb, 0x64, 0x87, 0x15, 0xf4, 0x2a, 0x6b, 0xd6, 0x55, 0xc1, 0x0e, 0x73, 0x9a, 0x7b, 0xd7, 0xc8, 0x32, 0xd2, 0x99, 0x45, 0x9d, 0xef, 0x1c, 0x10, 0xcc, 0x1c, 0x4e, 0x61, 0xe2, 0x01, 0x8d, 0xb9, 0x7b, 0x66, 0xf3, 0x3e, 0x70, 0xf0, 0x58, 0x4b, 0x20, 0xbf, 0xfc, 0x9d, 0x48, 0x5e, 0x9e, 0x9f, 0xbf, 0x7e, 0x79, 0xf1, 0xd2, 0xae, 0x0d, 0x02, 0x1a, 0xcc, 0x05, 0x1a, 0xb2, 0xe1, 0x43, 0xa4, 0x35, 0xd1, 0x93, 0xdb, 0xbf, 0xff, 0x30, 0x3e, 0x7e, 0xdf, 0x3d, 0xd8, 0xf3, 0xf7, 0x67, 0x04, 0x48, 0xf4, 0xfb, 0x1f, 0x5e, 0xae, 0x56, 0x0b, 0x0d, 0x0a, 0xbe, 0x4e, 0x9b, 0x74, 0x3b, 0xb8, 0xd5, 0x87, 0xbb, 0x34, 0xbf, 0x1b, 0x3b, 0xbf, 0xb9, 0x08, 0x39, 0x98, 0xfa, 0xc9, 0x88, 0x0e, 0xb4, 0x9a, 0x6a, 0xfa, 0xad, 0xdd, 0x0d, 0x6c, 0x00, 0xb2, 0x67, 0xfb, 0x17, 0x52, 0x3a, 0x4e, 0xa6, 0x89, 0x64, 0xba, 0x59, 0x0b, 0x63, 0x64, 0x67, 0xd3, 0x75, 0xa3, 0x24, 0x0f, 0xfa, 0xa2, 0x2a, 0xee, 0xee, 0xbe, 0x04, 0xc7, 0xe3, 0xc2, 0x28, 0xcc, 0x05, 0x00, 0x22, 0x60, 0x08, 0x0d, 0x29, 0xd2, 0x3a, 0x5b, 0xe6, 0x62, 0x11, 0x9a, 0x9a, 0x65, 0x1c, 0x56, 0x01, 0xa8, 0x00, 0x4f, 0x29, 0xd8, 0x90, 0xdf, 0x99, 0xdb, 0x38, 0x4c, 0x8e, 0xa5, 0xda, 0x0d, 0x0b, 0x37, 0x3f, 0x08, 0x1e, 0x6a, 0xac, 0xf9, 0x20, 0xec, 0x3e, 0xce, 0x2b, 0x3c, 0xa0, 0x8d, 0xad, 0xae, 0x08, 0xe0, 0xd2, 0x56, 0xf3, 0x10, 0x4d, 0x9b, 0x36, 0x1d, 0xd6, 0xd3, 0x56, 0x24, 0xe9, 0x69, 0x98, 0x5e, 0x12, 0x79, 0x99, 0x47, 0x8d, 0x76, 0x6d, 0x8c, 0x26, 0xfa, 0xd7, 0xde, 0xc1, 0x68, 0x7f, 0x2b, 0x9c, 0x3c, 0x5d, 0x16, 0x80, 0xa4, 0xd8, 0xa8, 0x1a, 0x71, 0xc3, 0xa6, 0x2c, 0xef, 0x9d, 0x1f, 0xb3, 0x30, 0xa3, 0x9f, 0xae, 0xcc, 0xf8, 0xd1, 0xa9, 0x0c, 0xcf, 0x82, 0x2c, 0x10, 0xca, 0xdc, 0xad, 0x94, 0x29, 0x1a, 0x9e, 0x58, 0x94, 0x37, 0xb4, 0x12, 0x43, 0x6a, 0x8b, 0x45, 0x0b, 0xcd, 0x66, 0x2b, 0xbe, 0xcd, 0x05, 0x80, 0xa3, 0xb2, 0xee, 0x6e, 0x47, 0x23, 0xd7, 0xaa, 0x7c, 0xfa, 0x1a, 0x9e, 0x4d, 0x79, 0x85, 0x15, 0x69, 0x29, 0xc1, 0x07, 0x13, 0x30, 0x5c, 0x2e, 0xe0, 0x7b, 0x0b, 0x3f, 0x33, 0x63, 0xa8, 0xe9, 0x21, 0x43, 0x1a, 0x84, 0xb4, 0xd2, 0x17, 0x5c, 0xab, 0x1e, 0xd8, 0xf2, 0x6f, 0xd3, 0xdb, 0x7c, 0xb9, 0x5e, 0xe2, 0x63, 0x44, 0xdb, 0xf2, 0x98, 0xc4, 0x13, 0xe0, 0x55, 0xe4, 0xf4, 0x14, 0x10, 0xf9, 0x76, 0x9d, 0x78, 0x16, 0x7d, 0x4c, 0xc8, 0x18, 0x91, 0x3c, 0x72, 0xcb, 0x83, 0xb2, 0x80, 0x80, 0x43, 0xdd, 0xf1, 0x06, 0x18, 0xfd, 0x20, 0xa5, 0x9c, 0x83, 0xba, 0xb4, 0x09, 0x3b, 0x11, 0x76, 0xce, 0x60, 0x09, 0xa2, 0xc3, 0x79, 0xf9, 0xaa, 0x59, 0x95, 0x97, 0x33, 0x7b, 0x6f, 0x48, 0x7f, 0xcc, 0x8b, 0xb5, 0xd9, 0x67, 0xf6, 0x25, 0x73, 0x10, 0x82, 0x7e, 0x15, 0x78, 0x08, 0x91, 0x55, 0x3f, 0x46, 0xb1, 0x84, 0xa6, 0xa0, 0x3e, 0x1d, 0x1d, 0x1d, 0x8e, 0xf6, 0x07, 0x2d, 0x83, 0x5e, 0x30, 0x25, 0xcc, 0xed, 0x9a, 0xe6, 0x4b, 0x5b, 0x6f, 0x3a, 0xfa, 0xcd, 0x1c, 0x37, 0xc8, 0x08, 0x5f, 0xa6, 0xb7, 0x38, 0xbe, 0xe8, 0xb1, 0x96, 0xc9, 0x8b, 0xaf, 0xcf, 0xc6, 0x17, 0x07, 0xcf, 0xcf, 0xcf, 0xde, 0x9b, 0xff, 0xd2, 0xdf, 0x0f, 0xf1, 0xf7, 0xc3, 0xc0, 0xaa, 0x7c, 0x23, 0x19, 0xb4, 0x5a, 0xac, 0x03, 0x0d, 0x05, 0x1a, 0x0d, 0xef, 0x66, 0xe2, 0x0d, 0x44, 0x7a, 0x39, 0xd8, 0xe0, 0xd4, 0x56, 0x34, 0x76, 0x8f, 0xd8, 0xfb, 0x94, 0x26, 0xd9, 0x8d, 0x92, 0x30, 0x91, 0x2f, 0x6f, 0x54, 0x9b, 0x92, 0x5a, 0x78, 0xad, 0xb2, 0xef, 0xfa, 0xba, 0xb9, 0x8e, 0x59, 0xea, 0x73, 0x14, 0xaf, 0x0e, 0xb9, 0x61, 0xed, 0x5f, 0x4d, 0x17, 0x46, 0xbb, 0xcf, 0x28, 0x97, 0x64, 0x96, 0x71, 0x80, 0x85, 0x7e, 0x12, 0x33, 0x4c, 0xcc, 0xf5, 0x93, 0x92, 0x85, 0x20, 0xc1, 0x10, 0x14, 0xa9, 0x51, 0x1d, 0x33, 0x1b, 0x33, 0xc7, 0xdc, 0x68, 0xe2, 0xbc, 0x1d, 0x45, 0x16, 0x54, 0x08, 0x30, 0x8e, 0x9c, 0xef, 0xc4, 0x42, 0x91, 0x3e, 0xca, 0xed, 0xdf, 0x9d, 0x5d, 0x24, 0xe9, 0x7c, 0xae, 0xd8, 0x00, 0x54, 0x96, 0x40, 0x1a, 0xeb, 0xde, 0x8a, 0x25, 0x59, 0xda, 0xc4, 0x52, 0x37, 0x44, 0x1f, 0xb9, 0x38, 0x1d, 0xef, 0x91, 0x0b, 0x8b, 0x93, 0xe0, 0xc6, 0xef, 0x4e, 0x06, 0x2d, 0x5f, 0xb5, 0x9f, 0xfa, 0xb2, 0x4b, 0x92, 0x32, 0xae, 0x50, 0xa4, 0x9e, 0x2c, 0x74, 0x88, 0x33, 0x94, 0x54, 0x87, 0x23, 0xdd, 0x92, 0x6a, 0xb0, 0x2d, 0x1c, 0xed, 0x56, 0xa2, 0x51, 0x53, 0xd8, 0xc5, 0xcb, 0x55, 0x73, 0x17, 0xd6, 0x8b, 0xc2, 0xb7, 0x41, 0x38, 0x2c, 0xa4, 0x74, 0x6c, 0x91, 0x59, 0x42, 0xcb, 0xc2, 0x92, 0xb6, 0x46, 0x3c, 0xec, 0xe1, 0x16, 0x46, 0xc5, 0xa0, 0xe6, 0xef, 0x34, 0x26, 0x88, 0x76, 0x92, 0xc5, 0xd2, 0xfb, 0xf9, 0x43, 0xde, 0xe0, 0x89, 0x1d, 0xde, 0x4c, 0xcc, 0xd6, 0xa9, 0x29, 0x75, 0x10, 0x83, 0x29, 0xab, 0xfc, 0x92, 0xf2, 0x04, 0xba, 0xa5, 0x63, 0x6e, 0x22, 0x81, 0x67, 0x8a, 0x94, 0xb1, 0xba, 0xd9, 0xf2, 0x5c, 0x09, 0x4d, 0x90, 0xa0, 0x8f, 0xb4, 0xd1, 0x4a, 0x4d, 0x1a, 0x9d, 0x0e, 0xf1, 0x9f, 0x26, 0xa2, 0xc7, 0xb3, 0xb2, 0x67, 0x56, 0x47, 0x72, 0xc7, 0x05, 0x81, 0xb4, 0xf4, 0x47, 0xef, 0x12, 0x90, 0x70, 0x4e, 0x1a, 0x65, 0xe0, 0x1c, 0x36, 0xea, 0x0e, 0xc7, 0x88, 0x6d, 0x86, 0x23, 0x68, 0xd5, 0xc7, 0xd6, 0xc1, 0xe1, 0xd3, 0xd1, 0xbe, 0xf9, 0x3f, 0x73, 0x28, 0xa2, 0x1f, 0x01, 0x2e, 0xca, 0xc1, 0x02, 0xd9, 0x27, 0xb3, 0xdb, 0x2e, 0x49, 0xb2, 0x00, 0x2a, 0xab, 0xcb, 0xad, 0x8d, 0x35, 0xac, 0x2d, 0x91, 0x42, 0x07, 0x69, 0xc5, 0x49, 0x3a, 0x93, 0x9f, 0xe8, 0x1d, 0xaf, 0xd6, 0x8b, 0x48, 0x5a, 0x9f, 0xe7, 0x46, 0x26, 0xed, 0x6c, 0x71, 0x2d, 0x4e, 0xe4, 0xaf, 0x89, 0x37, 0x71, 0x1d, 0xdf, 0xa8, 0x95, 0x14, 0xf5, 0xac, 0xe5, 0x13, 0x7c, 0x25, 0x26, 0x1b, 0x38, 0xf3, 0xd0, 0x5c, 0x86, 0x17, 0xe5, 0x7c, 0x5e, 0x67, 0x4d, 0x57, 0x00, 0xbd, 0x92, 0x47, 0xf6, 0xde, 0x03, 0xe0, 0x10, 0x9c, 0x4a, 0x2b, 0x6e, 0x92, 0x36, 0x2c, 0x4f, 0x22, 0x59, 0x68, 0xcc, 0xb6, 0x78, 0xb8, 0x51, 0xa4, 0xc8, 0xc0, 0xff, 0xbd, 0x66, 0x88, 0x70, 0x55, 0xbc, 0x82, 0xbd, 0xa0, 0xdc, 0x8a, 0x71, 0x5c, 0x44, 0xd2, 0x75, 0x51, 0xd9, 0xf4, 0x4a, 0x7c, 0xca, 0x57, 0x2b, 0x32, 0x6f, 0x18, 0xe1, 0x0c, 0x64, 0x6b, 0x03, 0x68, 0x88, 0xe3, 0x82, 0x94, 0x35, 0x5b, 0xd0, 0x28, 0xc9, 0x53, 0x91, 0xf9, 0x93, 0x6c, 0x1e, 0x06, 0x81, 0x38, 0xa9, 0xd1, 0x87, 0xb5, 0x91, 0x1a, 0xdd, 0x19, 0x41, 0xd8, 0x14, 0xa9, 0xb2, 0x98, 0xb9, 0x07, 0xf8, 0x20, 0xc5, 0x7f, 0x83, 0xc8, 0xfd, 0x77, 0xc5, 0x59, 0xd6, 0x0f, 0x37, 0x3e, 0xf9, 0xef, 0xc7, 0x0e, 0x84, 0xc8, 0xa2, 0xfc, 0x70, 0xb9, 0x4b, 0xac, 0x78, 0xc8, 0xdc, 0xc2, 0xe1, 0x2b, 0x73, 0x5e, 0x5b, 0x98, 0x8a, 0x4b, 0x35, 0x29, 0x3b, 0xe5, 0x18, 0xb0, 0x7b, 0x48, 0x93, 0x80, 0x36, 0xb4, 0x47, 0x75, 0xff, 0x81, 0x68, 0x60, 0x8c, 0x4a, 0xf6, 0x2f, 0xca, 0x1a, 0x71, 0x3b, 0x1a, 0xa9, 0x9a, 0xf3, 0x6b, 0x4e, 0x44, 0x59, 0xdc, 0xcb, 0x0b, 0x52, 0x19, 0x59, 0x81, 0x09, 0x4a, 0x32, 0xb4, 0x0e, 0x96, 0xd1, 0x4e, 0xd6, 0xcd, 0x6f, 0x18, 0x3b, 0xa9, 0x88, 0x7e, 0x01, 0x63, 0xe7, 0x11, 0xf5, 0x94, 0x89, 0x9a, 0xb0, 0x3a, 0x87, 0x7f, 0x33, 0x56, 0xf6, 0x0b, 0x75, 0x53, 0xf4, 0x01, 0x03, 0xa8, 0x53, 0x83, 0x8a, 0x28, 0x60, 0x84, 0x81, 0x36, 0x2c, 0x3e, 0x8d, 0x6e, 0x35, 0xc3, 0xea, 0xa4, 0xd0, 0x65, 0x00, 0x04, 0xda, 0xbd, 0xf3, 0x73, 0x80, 0xde, 0x78, 0xe5, 0xdf, 0xb6, 0x76, 0x72, 0x44, 0x51, 0xaa, 0x05, 0x8f, 0x50, 0x73, 0x62, 0xa5, 0x8c, 0xa1, 0x46, 0x43, 0x1e, 0xc8, 0xdc, 0xbc, 0x18, 0x72, 0x71, 0xb5, 0x3e, 0x8b, 0x60, 0x1a, 0xa1, 0xb6, 0x09, 0x39, 0xf2, 0x11, 0xb1, 0x19, 0xde, 0x48, 0x62, 0x05, 0xd4, 0x5a, 0x7c, 0x36, 0xe6, 0x46, 0x67, 0x5f, 0x24, 0x1c, 0x88, 0xfc, 0x71, 0x72, 0x90, 0x7d, 0x32, 0xba, 0x73, 0x31, 0xa0, 0x9f, 0xa2, 0x10, 0xd5, 0x5e, 0x32, 0xf6, 0x6d, 0x34, 0x19, 0x07, 0x2d, 0xb2, 0x88, 0x2e, 0xeb, 0x3d, 0x2b, 0x8f, 0x7a, 0x6e, 0x94, 0x77, 0x59, 0x23, 0xa9, 0x23, 0x3c, 0x79, 0xad, 0xcd, 0x42, 0x7d, 0xd7, 0xc9, 0xbc, 0x33, 0x1c, 0xe0, 0xe2, 0xb2, 0xa6, 0x5d, 0xad, 0x2f, 0x31, 0x5c, 0xc6, 0xc8, 0x22, 0x5f, 0xe8, 0xc0, 0x5c, 0x83, 0x2d, 0xf5, 0xcb, 0xf2, 0x0a, 0xe2, 0xa9, 0x0b, 0x3a, 0x1d, 0x72, 0x13, 0x35, 0xb3, 0x18, 0x4d, 0xb2, 0xee, 0xab, 0x17, 0x52, 0xa0, 0x03, 0xfd, 0x74, 0x08, 0x02, 0x41, 0x43, 0xf4, 0xde, 0x7d, 0x4d, 0x13, 0x57, 0x22, 0x55, 0x85, 0x5e, 0x55, 0x29, 0xa5, 0xd0, 0x54, 0x33, 0xf5, 0x8c, 0xe8, 0x44, 0x0d, 0x17, 0x16, 0xbb, 0xe8, 0x26, 0x05, 0xa5, 0xd9, 0xf1, 0x63, 0xb5, 0x0f, 0x5e, 0xfe, 0xe3, 0x70, 0xe2, 0xc8, 0xd9, 0xc1, 0xe7, 0x44, 0xd3, 0x94, 0xe4, 0x21, 0xa2, 0x79, 0x23, 0x58, 0xb6, 0x1b, 0xaf, 0xb8, 0x14, 0x88, 0x34, 0x76, 0x53, 0x78, 0x0b, 0x6f, 0xae, 0xca, 0x45, 0x16, 0x0b, 0x91, 0x78, 0x25, 0xbf, 0x00, 0x77, 0xa1, 0xb4, 0x5e, 0x78, 0x9b, 0xaf, 0x91, 0x31, 0xdc, 0x0a, 0x9d, 0x18, 0xfd, 0x2e, 0x4b, 0xa9, 0xe0, 0xc8, 0x26, 0xcd, 0x5f, 0x0f, 0x82, 0x34, 0x76, 0x73, 0xcf, 0x27, 0x65, 0x6d, 0xe9, 0x85, 0x0a, 0x6b, 0x49, 0x82, 0xdc, 0xa4, 0x15, 0x18, 0xb3, 0xa0, 0x64, 0x29, 0x80, 0xa8, 0x9f, 0x33, 0x48, 0xaa, 0x60, 0xb7, 0xde, 0x21, 0xa7, 0x62, 0x74, 0x43, 0x26, 0x46, 0x01, 0x20, 0x37, 0x2d, 0x68, 0x87, 0x86, 0x14, 0xfc, 0xab, 0x2b, 0x40, 0xe1, 0x4a, 0xc5, 0xba, 0xb9, 0x87, 0x57, 0x24, 0xd3, 0xf3, 0x66, 0x9d, 0x36, 0x0f, 0x4b, 0xd8, 0xee, 0xe3, 0x4d, 0xcc, 0x9c, 0xfc, 0x7c, 0xd4, 0x3e, 0xcc, 0x86, 0x9e, 0x28, 0xa2, 0x7f, 0x90, 0x2f, 0xe8, 0xae, 0xfd, 0x8f, 0x7b, 0x18, 0xd3, 0x39, 0x10, 0xfd, 0xae, 0xda, 0x90, 0x50, 0xa8, 0xc9, 0x15, 0x79, 0xa2, 0x95, 0x6f, 0x3c, 0xa6, 0x8a, 0xfb, 0x93, 0x48, 0xa0, 0x1f, 0xd1, 0x31, 0x33, 0x9d, 0xc5, 0x9d, 0x1b, 0xd0, 0x2b, 0x99, 0xd5, 0x0c, 0x6f, 0x0f, 0x2e, 0xcf, 0x7e, 0x21, 0xc8, 0x5a, 0xda, 0x1a, 0x1b, 0x15, 0x9c, 0xbf, 0xf9, 0x7c, 0x4b, 0xd1, 0x47, 0x2d, 0x9c, 0x92, 0x70, 0x11, 0x29, 0xda, 0xd2, 0xfa, 0x0f, 0xf5, 0xd5, 0xd3, 0xf5, 0xef, 0x0e, 0x47, 0x50, 0xdc, 0x07, 0x5f, 0x7c, 0xfb, 0xf2, 0xf4, 0xc3, 0xf1, 0xc1, 0x1f, 0x13, 0xfa, 0xd7, 0x21, 0xff, 0xeb, 0x70, 0x2b, 0x76, 0x5c, 0x86, 0x51, 0x6d, 0x7f, 0xb1, 0x9d, 0xd4, 0x77, 0xcb, 0x49, 0xb9, 0xb0, 0x07, 0x26, 0x5b, 0xa1, 0x81, 0xb4, 0x81, 0x48, 0x71, 0x5b, 0xba, 0x2d, 0xae, 0xf2, 0x2e, 0xcb, 0xae, 0x25, 0xe9, 0x50, 0xd9, 0x0d, 0x22, 0x78, 0x7e, 0x2d, 0x71, 0x83, 0x4a, 0x6b, 0xe5, 0x61, 0x12, 0xcb, 0xeb, 0x4b, 0x04, 0x85, 0x50, 0xd2, 0x8b, 0x5d, 0x47, 0x38, 0x07, 0x8b, 0x17, 0x07, 0xe9, 0xec, 0x33, 0x8c, 0x30, 0xdb, 0xcc, 0x70, 0x27, 0x5c, 0x29, 0x8b, 0x3b, 0xcd, 0xaf, 0x8b, 0x81, 0x40, 0x68, 0x1c, 0x77, 0x82, 0x3f, 0xb0, 0x5d, 0x65, 0x96, 0xf5, 0x62, 0xd5, 0xf4, 0x6e, 0x77, 0xb8, 0x89, 0xe8, 0x2e, 0x1e, 0x34, 0xd7, 0x29, 0xa1, 0x81, 0x0d, 0x35, 0x3d, 0xc3, 0xb9, 0x3a, 0xc8, 0x18, 0x9d, 0x91, 0x66, 0xad, 0xfe, 0x8c, 0xc4, 0x03, 0x7f, 0xb6, 0x30, 0x92, 0x82, 0xc3, 0x98, 0xb4, 0x42, 0x82, 0xec, 0x6b, 0x0e, 0xa1, 0x57, 0x18, 0x08, 0xc6, 0x6c, 0x0e, 0xd2, 0x4d, 0x96, 0x41, 0x76, 0x56, 0x61, 0x34, 0xc9, 0x1d, 0xc3, 0xde, 0x77, 0x7d, 0x4c, 0x10, 0x3d, 0x3e, 0x71, 0x4b, 0x34, 0x36, 0xa2, 0xda, 0x13, 0x2b, 0xb8, 0xb8, 0x6a, 0x09, 0x1a, 0x55, 0xf9, 0xb4, 0xc0, 0x99, 0xe3, 0xb3, 0x22, 0x39, 0x78, 0x18, 0x26, 0x53, 0xca, 0xde, 0x5c, 0xa4, 0x01, 0x12, 0x0d, 0xee, 0x9a, 0xc2, 0x61, 0x50, 0xa0, 0xdf, 0x12, 0xbe, 0xf9, 0xfe, 0xdd, 0x22, 0xdb, 0x55, 0xc3, 0x40, 0x85, 0xdd, 0xde, 0xdb, 0xf2, 0x1f, 0x66, 0xde, 0xa9, 0x7c, 0x24, 0x26, 0x33, 0x45, 0x04, 0xf6, 0xce, 0xdc, 0xf1, 0x17, 0x2e, 0x13, 0xf7, 0xb9, 0x46, 0xcb, 0x36, 0x46, 0x10, 0x98, 0xf4, 0x32, 0xa4, 0x6a, 0x07, 0xa4, 0x23, 0xda, 0x45, 0x20, 0xa1, 0x3d, 0xbc, 0x19, 0x43, 0xca, 0xa5, 0x64, 0xe8, 0x58, 0x12, 0x13, 0xb1, 0xd3, 0x65, 0xe1, 0x5d, 0x9d, 0xaa, 0x47, 0x10, 0x1d, 0xdf, 0x66, 0xd5, 0x94, 0xa0, 0x26, 0xa6, 0x46, 0x2f, 0x05, 0x3f, 0x9d, 0x8b, 0x7b, 0x8a, 0x72, 0xa9, 0x24, 0x2b, 0xbe, 0x8d, 0x0b, 0x03, 0xf1, 0xab, 0x74, 0xd6, 0x4b, 0x62, 0xc8, 0x7d, 0x98, 0x1a, 0xc2, 0x18, 0x59, 0x08, 0x3c, 0x15, 0x90, 0x6d, 0xf6, 0xa1, 0x45, 0x66, 0x08, 0x27, 0x04, 0x19, 0x7b, 0xd8, 0x61, 0x7d, 0xd1, 0x3b, 0x4d, 0x21, 0x17, 0xcc, 0x85, 0x01, 0xcd, 0x5c, 0x74, 0x88, 0xa0, 0x02, 0x80, 0x0b, 0xd5, 0x9f, 0x9e, 0x68, 0x4f, 0x07, 0xf8, 0x1d, 0x88, 0x96, 0x14, 0x77, 0x8a, 0x26, 0xb5, 0x03, 0xb1, 0xc9, 0xca, 0xa1, 0x62, 0x0e, 0x42, 0xf3, 0x0a, 0x8b, 0x91, 0x17, 0xe5, 0x0d, 0xc5, 0x60, 0xda, 0x08, 0xa0, 0x0a, 0xf6, 0xc3, 0x39, 0x75, 0xcc, 0x97, 0x87, 0xa4, 0x2b, 0xf1, 0x67, 0x47, 0x1a, 0xad, 0x8d, 0x52, 0x80, 0x96, 0xd3, 0x76, 0x2b, 0x91, 0x52, 0x97, 0x41, 0xd1, 0xb0, 0x33, 0x99, 0xf5, 0x0b, 0x07, 0xc0, 0x15, 0x13, 0x6c, 0x58, 0xf1, 0xa4, 0x6c, 0xae, 0xbc, 0x3c, 0x54, 0x02, 0xf5, 0x23, 0x3f, 0xcf, 0x7c, 0xdd, 0xc0, 0x08, 0x50, 0x33, 0xb0, 0x91, 0x54, 0x63, 0x71, 0x16, 0x05, 0x59, 0x0f, 0x9f, 0x08, 0xfc, 0x8d, 0x96, 0x68, 0x01, 0x6c, 0x29, 0x81, 0xb6, 0x40, 0xa6, 0x38, 0xd1, 0xa5, 0x31, 0x80, 0x81, 0x2f, 0x68, 0xbe, 0x49, 0x89, 0x4a, 0x75, 0x4d, 0x58, 0x72, 0x48, 0x49, 0x35, 0x1b, 0x1b, 0x40, 0x4e, 0x00, 0x24, 0xa9, 0xf0, 0x8f, 0x74, 0x87, 0xe1, 0x6f, 0x1c, 0x70, 0x13, 0xe3, 0x62, 0x90, 0xd5, 0x3e, 0x91, 0xa3, 0xa9, 0x71, 0x7f, 0x89, 0x1e, 0x22, 0x4e, 0x11, 0xab, 0xbf, 0xf6, 0x5c, 0xd8, 0x7f, 0xd9, 0xa8, 0x09, 0x8c, 0xbc, 0xaa, 0x66, 0x00, 0x5d, 0x40, 0x10, 0xdb, 0xc4, 0x78, 0x6c, 0x77, 0xc8, 0xb8, 0x52, 0x17, 0x7f, 0x8b, 0xc5, 0x79, 0xd7, 0xab, 0x19, 0xd4, 0x3e, 0x7d, 0x07, 0x8a, 0x92, 0x07, 0x84, 0x59, 0x97, 0x72, 0x1b, 0x31, 0x3c, 0x31, 0x19, 0xc7, 0x65, 0x62, 0x20, 0x39, 0xdd, 0xfb, 0xef, 0x07, 0x58, 0x5a, 0x48, 0x6d, 0xec, 0xc3, 0x59, 0xfa, 0xbc, 0xc1, 0xbc, 0x08, 0xe1, 0x3b, 0x34, 0xb4, 0x5f, 0xc7, 0x02, 0x95, 0x2a, 0xc0, 0x0d, 0x87, 0xff, 0xdb, 0xba, 0x98, 0x76, 0x64, 0x54, 0x39, 0xf0, 0xf0, 0x38, 0x25, 0x2a, 0x6b, 0x25, 0x44, 0x97, 0xe8, 0xf1, 0x21, 0x81, 0xbf, 0xa1, 0x8a, 0x50, 0xaa, 0xde, 0x20, 0xf1, 0xb6, 0xf0, 0x4a, 0x68, 0xaf, 0x72, 0x73, 0x42, 0xd5, 0xf4, 0x0a, 0x48, 0x02, 0xf0, 0x23, 0x65, 0xea, 0x1c, 0x0d, 0x14, 0x61, 0xf1, 0xfc, 0x63, 0x58, 0xd1, 0xc5, 0x72, 0x62, 0x47, 0x84, 0x16, 0x52, 0x16, 0xca, 0xa4, 0xfb, 0xe6, 0x19, 0x66, 0x76, 0x5d, 0xd1, 0x9e, 0x67, 0x8b, 0xda, 0x09, 0x48, 0xfb, 0x8e, 0x93, 0x94, 0x30, 0xc2, 0x0b, 0xf8, 0x64, 0x59, 0x14, 0xe7, 0xd1, 0x1b, 0x8e, 0x99, 0x18, 0x35, 0x47, 0x26, 0x43, 0x76, 0x25, 0xd1, 0xc9, 0x9d, 0x62, 0xcc, 0xc8, 0x08, 0x5d, 0x98, 0x99, 0x40, 0xf2, 0x94, 0x76, 0xdf, 0x04, 0xc0, 0x46, 0xb7, 0x2a, 0x57, 0xbc, 0x75, 0x26, 0x15, 0x72, 0x64, 0x50, 0xf9, 0x34, 0xfa, 0x80, 0x50, 0xfc, 0x6b, 0x38, 0x9c, 0x37, 0x41, 0xba, 0x96, 0x77, 0xd6, 0x6d, 0x12, 0x58, 0xcc, 0x05, 0xa3, 0xe7, 0xad, 0xa2, 0xf1, 0x5d, 0x53, 0x0d, 0x4f, 0x72, 0xfa, 0x86, 0xbd, 0x78, 0xaf, 0xde, 0xd3, 0xdf, 0x72, 0x8b, 0x50, 0x84, 0x3a, 0x5c, 0x34, 0xf6, 0xe0, 0x04, 0xd9, 0xb7, 0xdf, 0x76, 0xcb, 0x30, 0x77, 0xce, 0xc6, 0x7b, 0x47, 0xcf, 0xf6, 0x77, 0x23, 0x39, 0xcb, 0xe6, 0x1b, 0x3e, 0x4e, 0xe1, 0xa3, 0xfd, 0xd1, 0xfe, 0x6e, 0x67, 0x36, 0xb4, 0xdd, 0x1b, 0x00, 0x54, 0x14, 0x5d, 0xdd, 0x0a, 0x0d, 0x24, 0x23, 0xbb, 0x62, 0x2d, 0xc9, 0x9b, 0xf6, 0x8b, 0x49, 0xdf, 0x67, 0xd7, 0x86, 0xd4, 0xa2, 0xf9, 0x6b, 0xa7, 0x79, 0x2d, 0x86, 0x0d, 0x49, 0x32, 0x95, 0x2d, 0x54, 0xad, 0xdd, 0xce, 0x09, 0xc6, 0x23, 0x24, 0x2c, 0x39, 0xd7, 0x21, 0x12, 0x6d, 0xa9, 0xcd, 0xa4, 0x2a, 0x24, 0xe6, 0x21, 0xa6, 0xff, 0xab, 0x3b, 0x5b, 0x5e, 0xb6, 0xd0, 0x1e, 0x9f, 0xfa, 0x67, 0x4a, 0x9a, 0xfe, 0x30, 0xad, 0xa7, 0x79, 0xce, 0xf6, 0x4c, 0x8f, 0x19, 0xa3, 0x19, 0x8f, 0xc0, 0x90, 0x43, 0x25, 0x75, 0x9e, 0x72, 0xa8, 0xd6, 0x01, 0x95, 0x06, 0xc3, 0x92, 0xb2, 0x6a, 0x48, 0x6c, 0xd3, 0xb8, 0x62, 0xc3, 0x53, 0xb3, 0x16, 0xc1, 0x56, 0xb6, 0xfa, 0x65, 0xdd, 0x55, 0xa3, 0xcc, 0x5d, 0x60, 0xb8, 0xb2, 0x55, 0x15, 0xd6, 0xf7, 0x51, 0x6e, 0x26, 0x32, 0x9e, 0xd3, 0xa6, 0x2e, 0x69, 0x9f, 0x62, 0x9b, 0x0a, 0x0f, 0x05, 0xd0, 0x69, 0xad, 0x01, 0x65, 0xef, 0xbe, 0xe4, 0x03, 0x7d, 0x39, 0x70, 0xe9, 0x3a, 0x2d, 0x03, 0x28, 0x8d, 0x28, 0x82, 0x0c, 0xae, 0x9f, 0x20, 0x3c, 0xce, 0x95, 0x54, 0xb4, 0x10, 0x69, 0x31, 0x01, 0xb7, 0x07, 0xe7, 0x88, 0x48, 0x83, 0x09, 0x82, 0x21, 0xb2, 0xbb, 0x15, 0x01, 0x97, 0x1a, 0x98, 0xf5, 0x01, 0xba, 0x13, 0x14, 0x54, 0x64, 0x37, 0xc4, 0x8d, 0x6b, 0x51, 0x25, 0xaa, 0x2a, 0x27, 0xbf, 0x91, 0x4d, 0x2e, 0x60, 0x75, 0x8c, 0xb2, 0x30, 0x49, 0x38, 0xcf, 0x22, 0xb5, 0xdd, 0x53, 0xdc, 0xce, 0xda, 0xe6, 0x6c, 0x17, 0x80, 0x9f, 0x24, 0x7c, 0xb9, 0x60, 0x6f, 0xd0, 0x1f, 0x00, 0x93, 0x53, 0xd0, 0xd9, 0xa6, 0x9d, 0xfe, 0x41, 0x5a, 0x3b, 0xe7, 0x37, 0x33, 0xbc, 0x59, 0xd9, 0x32, 0x30, 0xeb, 0xfe, 0x70, 0xc9, 0xde, 0xed, 0xf0, 0xe6, 0xe6, 0x66, 0x48, 0x17, 0x8e, 0x72, 0x72, 0xa4, 0xcc, 0x62, 0xd4, 0x02, 0x8f, 0x86, 0x5d, 0xc9, 0x26, 0x27, 0x31, 0x91, 0x30, 0xbe, 0xe1, 0xa5, 0x48, 0x55, 0x93, 0xbc, 0x41, 0x3d, 0x9f, 0x10, 0x17, 0x5e, 0x93, 0xba, 0x3a, 0x99, 0x0e, 0x34, 0x1c, 0x75, 0x44, 0x45, 0x6e, 0x9f, 0x5b, 0x0b, 0xc1, 0x4f, 0x4d, 0x9b, 0x8c, 0xea, 0xd7, 0xcd, 0x27, 0x96, 0xcf, 0x93, 0xe1, 0xd7, 0xc9, 0xd6, 0x2b, 0x59, 0xed, 0x85, 0x79, 0xe2, 0x79, 0x7b, 0x2d, 0xfc, 0x70, 0x18, 0xcc, 0x31, 0xef, 0x6e, 0x3d, 0x0c, 0x3e, 0xb1, 0xf7, 0x22, 0xa3, 0xbb, 0x8a, 0xcb, 0x9a, 0x69, 0x22, 0xce, 0x3a, 0x4a, 0x7b, 0x61, 0xb7, 0x16, 0x63, 0x9e, 0x61, 0xe9, 0x69, 0x2d, 0x9d, 0x78, 0x26, 0x7c, 0xc3, 0x37, 0x5c, 0xc7, 0x2a, 0xbd, 0xb9, 0xff, 0x8e, 0x7b, 0x37, 0x51, 0xa8, 0x77, 0x01, 0x57, 0x97, 0x87, 0x47, 0x4c, 0xfe, 0x1d, 0x9b, 0x84, 0x19, 0x99, 0xa9, 0xf4, 0xc1, 0x70, 0xc5, 0x54, 0x6c, 0x98, 0x8a, 0x5e, 0xfa, 0xe5, 0x86, 0x3a, 0x34, 0xe7, 0x14, 0x76, 0xab, 0x68, 0x45, 0x3e, 0x3a, 0xb0, 0xa6, 0x58, 0x96, 0xa5, 0xaa, 0x07, 0x30, 0x1a, 0xb7, 0xba, 0x81, 0xbd, 0x9c, 0x42, 0xcb, 0xec, 0xd8, 0xf3, 0x96, 0x29, 0x08, 0xb8, 0xb1, 0xf4, 0x4e, 0x8e, 0x73, 0xd0, 0x55, 0x55, 0x80, 0x32, 0x71, 0x59, 0x65, 0x15, 0x11, 0x3a, 0xb2, 0xe0, 0x87, 0x9a, 0xc2, 0x1c, 0x13, 0xd6, 0x86, 0xa1, 0xbc, 0xfa, 0xea, 0x04, 0xd9, 0xdc, 0x86, 0x91, 0x16, 0x02, 0xe2, 0xc0, 0xf3, 0xe7, 0x96, 0x47, 0xd6, 0xa8, 0xbd, 0x24, 0x56, 0xc2, 0x25, 0x91, 0x69, 0x12, 0x03, 0x40, 0x55, 0x9b, 0x23, 0x51, 0xe3, 0x42, 0x92, 0x56, 0xc5, 0x46, 0x90, 0xcb, 0x6b, 0xc3, 0xbb, 0xa9, 0x2b, 0x11, 0x88, 0xee, 0x17, 0xbe, 0xae, 0x60, 0x23, 0x69, 0x2d, 0x11, 0x5c, 0x28, 0x6b, 0x41, 0xfa, 0xb8, 0xa3, 0x57, 0x6e, 0x21, 0x95, 0x85, 0x79, 0x6f, 0xf2, 0xf9, 0x78, 0x87, 0x37, 0x9c, 0x49, 0xc7, 0x93, 0x62, 0xb7, 0x2e, 0xf3, 0x3d, 0x06, 0x5c, 0x8b, 0x45, 0xbe, 0xb4, 0x98, 0xe7, 0xd6, 0x26, 0x46, 0x1a, 0x66, 0xfc, 0x1f, 0x24, 0xa1, 0x20, 0x77, 0x0d, 0xcf, 0x23, 0xcd, 0x43, 0xeb, 0x25, 0xfd, 0xd1, 0x14, 0xca, 0x4f, 0x12, 0x62, 0xe3, 0xc3, 0x91, 0xfd, 0xf7, 0x05, 0x69, 0x4b, 0x5f, 0x8a, 0xa3, 0x8a, 0xf2, 0xe0, 0x6b, 0xcf, 0x1a, 0x91, 0x62, 0x59, 0xcc, 0x5d, 0x6b, 0x84, 0x68, 0x1b, 0xe2, 0xc3, 0x71, 0x84, 0xd3, 0xdb, 0x3d, 0xa6, 0x38, 0x82, 0x9d, 0xaf, 0xb9, 0x8d, 0xd8, 0xbf, 0x75, 0x37, 0xef, 0x8b, 0xfb, 0x77, 0xef, 0xa7, 0x6e, 0xdf, 0xe6, 0xdd, 0xe3, 0xf6, 0x0d, 0x9a, 0x2c, 0xfb, 0x85, 0xe7, 0xa0, 0x43, 0xb2, 0x07, 0x5b, 0x5f, 0xd6, 0x51, 0xd7, 0xe6, 0x32, 0x9e, 0x91, 0xf9, 0xc5, 0x2f, 0x75, 0xea, 0x20, 0x46, 0x58, 0xf4, 0x34, 0xf9, 0xf8, 0x70, 0x1c, 0x56, 0xc4, 0xd9, 0xfb, 0xd8, 0x8b, 0xa2, 0x87, 0x63, 0x04, 0xc1, 0x2f, 0x9e, 0x36, 0x4c, 0xcc, 0x13, 0xa4, 0x79, 0x0e, 0xe3, 0xc3, 0x69, 0x21, 0xa0, 0x28, 0xe2, 0xc1, 0xfa, 0xbe, 0x54, 0xc1, 0xff, 0xf0, 0xc5, 0x21, 0xad, 0xc8, 0xb5, 0x0c, 0xf4, 0x33, 0x42, 0x38, 0x04, 0xb3, 0x13, 0xfa, 0x0d, 0xf5, 0xfa, 0x08, 0x0c, 0x24, 0xb7, 0x90, 0x52, 0x95, 0x60, 0x77, 0xd0, 0xde, 0x30, 0x82, 0xba, 0x83, 0x30, 0xd0, 0x53, 0xce, 0x7b, 0xcf, 0x58, 0xcf, 0x8e, 0xda, 0x32, 0x44, 0xcf, 0xee, 0xff, 0xa6, 0xf5, 0x81, 0x9e, 0x1d, 0x19, 0x50, 0x84, 0xa1, 0x66, 0x0c, 0x6f, 0x24, 0xdd, 0x27, 0xa8, 0x56, 0x20, 0x11, 0xdf, 0x33, 0x3b, 0xa0, 0x0f, 0x90, 0x52, 0x44, 0xf1, 0xd6, 0x85, 0xc0, 0x85, 0x32, 0xcc, 0xfb, 0x17, 0x4e, 0x99, 0x19, 0xd2, 0x22, 0x87, 0x42, 0xb2, 0x23, 0x10, 0xe1, 0x06, 0x4a, 0xb5, 0x94, 0x19, 0x27, 0xca, 0x80, 0xfc, 0xfa, 0x45, 0xa3, 0xe2, 0xab, 0x8a, 0x6c, 0x6f, 0x49, 0xca, 0x83, 0xcf, 0x5b, 0x92, 0xd2, 0xbd, 0xb3, 0x49, 0x46, 0x8e, 0x33, 0x4e, 0x48, 0xf3, 0x1d, 0x98, 0x78, 0x89, 0xab, 0xac, 0xa9, 0x91, 0x47, 0x98, 0xda, 0x44, 0xaf, 0x06, 0x45, 0xc7, 0x9c, 0x5b, 0xe4, 0xd5, 0x4e, 0x22, 0xc1, 0x9c, 0xa2, 0x66, 0x62, 0x1d, 0x25, 0x93, 0xaa, 0xbc, 0xa9, 0xa1, 0x8e, 0xaa, 0x81, 0x9a, 0x72, 0x0a, 0xec, 0x55, 0x50, 0x12, 0x6d, 0xb6, 0x77, 0x61, 0x71, 0x60, 0xbf, 0xbe, 0x78, 0x7b, 0xca, 0x8d, 0x1d, 0xb8, 0x3a, 0x97, 0x8a, 0x90, 0x64, 0xce, 0xeb, 0xc9, 0xd2, 0x58, 0xd2, 0x46, 0x3b, 0x69, 0x98, 0x95, 0x29, 0x77, 0x0c, 0x4a, 0x88, 0x11, 0xd2, 0x93, 0x80, 0xf0, 0x2a, 0x16, 0x9f, 0x11, 0x45, 0xd2, 0xc3, 0xa1, 0xf2, 0x34, 0xe0, 0x9f, 0xae, 0xeb, 0x1a, 0x3b, 0x19, 0x19, 0x31, 0xd0, 0xa3, 0xde, 0xd0, 0x51, 0xd0, 0x23, 0xc1, 0xed, 0xf3, 0xd4, 0x34, 0xf4, 0x1f, 0x03, 0xa4, 0xb4, 0xf5, 0xd0, 0x90, 0xd6, 0x65, 0x9b, 0x8f, 0x00, 0x35, 0x2b, 0x6d, 0x6b, 0x5a, 0x41, 0x59, 0xad, 0xd5, 0xbc, 0x5c, 0x1b, 0x11, 0x5f, 0xf9, 0x22, 0x3d, 0x84, 0xf4, 0x21, 0x09, 0x24, 0xad, 0x2b, 0x72, 0xe6, 0xb1, 0x56, 0x3d, 0x88, 0xe4, 0xdc, 0x8b, 0x42, 0xa2, 0xde, 0x7c, 0x1b, 0xda, 0x6c, 0x99, 0x7a, 0xda, 0x2f, 0x81, 0xc6, 0xf6, 0x6e, 0x70, 0x44, 0x49, 0x64, 0x84, 0x2a, 0x14, 0x53, 0xe0, 0x34, 0x0d, 0xb1, 0x99, 0xd1, 0xd1, 0x0e, 0x2c, 0x85, 0x73, 0x3c, 0x50, 0xef, 0xa2, 0x0a, 0xb6, 0x6b, 0x26, 0x52, 0xbb, 0xfe, 0x11, 0x6a, 0x2f, 0x03, 0xa8, 0x0b, 0xd0, 0x5c, 0x68, 0x20, 0x51, 0xb6, 0xfd, 0x5d, 0xa1, 0xff, 0x51, 0xfc, 0x5f, 0x03, 0x2f, 0xbc, 0x96, 0x93, 0x07, 0xca, 0x8f, 0x17, 0xba, 0xc8, 0xfa, 0x32, 0xab, 0x2e, 0xb9, 0x0c, 0x81, 0x21, 0x61, 0xa3, 0x28, 0x16, 0x69, 0xe2, 0xa1, 0xb4, 0x25, 0xc9, 0x7f, 0x19, 0xb2, 0x44, 0x85, 0xab, 0x6a, 0x4d, 0xf5, 0x2f, 0xe2, 0x4f, 0xdf, 0x1e, 0xce, 0x98, 0xad, 0xcc, 0xd2, 0xc2, 0xec, 0x84, 0xb9, 0xb1, 0x61, 0x7e, 0xcc, 0x62, 0xf1, 0xc5, 0xa2, 0x5c, 0xd7, 0x77, 0xdb, 0x89, 0xf4, 0xf2, 0x91, 0xf6, 0x17, 0x8d, 0xe4, 0xf2, 0xd0, 0x59, 0x9a, 0xf3, 0x5d, 0x17, 0x9f, 0x54, 0x28, 0x52, 0xa5, 0x42, 0xcd, 0x8e, 0xda, 0xce, 0x70, 0xdb, 0xde, 0xc7, 0xfe, 0x8b, 0x3f, 0x76, 0x74, 0x97, 0xe1, 0xfe, 0x67, 0xc3, 0xf9, 0x61, 0x96, 0xb3, 0x0b, 0xc9, 0xc4, 0xcc, 0xe6, 0xa4, 0x15, 0xa9, 0xb3, 0x03, 0x92, 0xf0, 0x60, 0x18, 0x5e, 0x0d, 0x39, 0xb8, 0xd4, 0x0d, 0xf0, 0x9b, 0x9e, 0xe2, 0x13, 0x27, 0x79, 0x38, 0xa0, 0xe4, 0x90, 0xf3, 0x18, 0xc2, 0xc4, 0xf6, 0xbe, 0xf1, 0x4b, 0xe0, 0x46, 0xc9, 0xb9, 0xd9, 0xaf, 0x00, 0x6a, 0x82, 0x22, 0xd9, 0x76, 0xb8, 0xb4, 0x05, 0x7a, 0x3a, 0x2f, 0xcb, 0x49, 0x5a, 0x6d, 0xcb, 0xde, 0x03, 0x55, 0xdd, 0x0c, 0x38, 0x63, 0xe7, 0x0b, 0x9d, 0xf5, 0x70, 0x36, 0x88, 0xde, 0x68, 0xd2, 0x19, 0xf0, 0xee, 0x48, 0x8b, 0x3a, 0xf4, 0xe7, 0x14, 0x20, 0x2f, 0x17, 0x33, 0xbb, 0x15, 0xfe, 0x57, 0x23, 0x87, 0x86, 0xda, 0x04, 0xe7, 0x0a, 0x50, 0x4f, 0x00, 0xca, 0x5b, 0xd4, 0x59, 0x60, 0x9d, 0xfa, 0x84, 0xe2, 0x4e, 0xb0, 0x21, 0x94, 0x38, 0x11, 0x87, 0x6d, 0x91, 0x20, 0x89, 0x35, 0xc1, 0x3d, 0xe6, 0x40, 0x33, 0x8a, 0xf1, 0x18, 0xc7, 0x53, 0x42, 0x87, 0xbb, 0xcf, 0xbe, 0x24, 0x5b, 0x75, 0x43, 0xa6, 0x9b, 0xcf, 0x35, 0x3c, 0x39, 0xe6, 0x8c, 0xb9, 0xae, 0x70, 0xdb, 0xe0, 0xda, 0x75, 0xb8, 0xb8, 0x60, 0xaf, 0xc2, 0x5f, 0xd9, 0x09, 0x32, 0x3c, 0xd1, 0x2c, 0x3a, 0xfe, 0xe7, 0x05, 0x10, 0x9b, 0xe1, 0x9c, 0x1c, 0x46, 0x48, 0xb3, 0x65, 0x5d, 0x66, 0x8b, 0xec, 0x92, 0x57, 0xfb, 0xe2, 0xf4, 0xf8, 0xdb, 0xe3, 0xd3, 0x40, 0x6c, 0x7e, 0x35, 0x1e, 0xef, 0x7d, 0xca, 0xaa, 0x09, 0x9a, 0xb2, 0x52, 0xe0, 0x22, 0xc1, 0x73, 0x36, 0xc1, 0xcb, 0x93, 0x25, 0x37, 0x0e, 0xb2, 0x45, 0x12, 0xbd, 0x03, 0x9f, 0x0d, 0x65, 0xf0, 0xf2, 0x27, 0x05, 0xe6, 0x1d, 0x25, 0x47, 0x92, 0x4b, 0x08, 0xd9, 0x38, 0xad, 0xb2, 0x19, 0xf7, 0x2c, 0x0d, 0xb3, 0x08, 0x81, 0xec, 0x41, 0x7d, 0x39, 0xe8, 0x50, 0x39, 0x93, 0x1c, 0x01, 0x2c, 0xbb, 0x88, 0xe0, 0x8d, 0x15, 0xaa, 0xe7, 0x93, 0xd7, 0xf2, 0x4d, 0xa9, 0x47, 0xa5, 0x5d, 0x62, 0x60, 0x37, 0xb6, 0x52, 0xce, 0xbe, 0x19, 0xbe, 0x1c, 0x0f, 0x5f, 0x1f, 0x9f, 0x1e, 0x7f, 0xf5, 0xf2, 0xe2, 0xd8, 0xe2, 0x99, 0xd7, 0x59, 0x8f, 0x0a, 0x26, 0xfa, 0xd7, 0x37, 0xb2, 0x2d, 0x58, 0x3f, 0x61, 0xe1, 0x37, 0x39, 0x37, 0x64, 0x51, 0xc8, 0x7f, 0xee, 0xac, 0x4d, 0x56, 0x51, 0xc3, 0x79, 0x82, 0xf1, 0xe1, 0xcc, 0xbd, 0x58, 0x2c, 0x65, 0xaa, 0xc1, 0x0a, 0xd2, 0xc5, 0x0d, 0x35, 0x66, 0xfb, 0x50, 0x50, 0x2a, 0x7d, 0x6e, 0x4b, 0x49, 0x79, 0xf5, 0xbe, 0x47, 0xc8, 0xed, 0x6c, 0xeb, 0x80, 0x81, 0x4c, 0xdf, 0xe3, 0x2f, 0xd0, 0x32, 0x70, 0xc4, 0x8f, 0x5f, 0xe3, 0xc9, 0x0e, 0xc6, 0xb8, 0x83, 0x46, 0x27, 0x06, 0x23, 0xbf, 0x8a, 0x00, 0x96, 0x10, 0x01, 0xd5, 0xd3, 0xab, 0x6c, 0x29, 0xaa, 0x2c, 0xa5, 0x26, 0x20, 0x08, 0xce, 0x35, 0x95, 0x82, 0x17, 0xc4, 0x29, 0x64, 0x93, 0x8c, 0x21, 0x17, 0x80, 0x91, 0x46, 0x74, 0x1d, 0x4b, 0xf5, 0xbd, 0xa1, 0x8e, 0x03, 0x14, 0x6b, 0xa1, 0xb4, 0x1d, 0x14, 0x18, 0x8f, 0x90, 0x60, 0xe8, 0xe5, 0x0d, 0x84, 0x79, 0x02, 0xdc, 0x3d, 0xb0, 0x7b, 0x67, 0x2d, 0x80, 0xb9, 0x45, 0x5b, 0x2f, 0xe1, 0x3a, 0xc3, 0x8f, 0xb8, 0x79, 0x89, 0xe8, 0xdc, 0x34, 0xc9, 0x9f, 0xe9, 0xa8, 0x96, 0xf2, 0x04, 0x29, 0x37, 0x24, 0x37, 0x16, 0xcc, 0xe0, 0x78, 0xd6, 0x76, 0x94, 0x69, 0x48, 0x37, 0x56, 0x6f, 0xba, 0xcc, 0x1e, 0x18, 0x5a, 0x7d, 0x26, 0xa7, 0x83, 0x1f, 0x49, 0x23, 0x02, 0x9b, 0xe2, 0x11, 0x75, 0xe5, 0x3b, 0x8e, 0xd1, 0xee, 0x55, 0x40, 0x18, 0xf1, 0xfa, 0xd7, 0xb0, 0xa3, 0x84, 0x2d, 0xb5, 0x1b, 0x66, 0xab, 0x00, 0xb0, 0x7b, 0xe7, 0x8d, 0xe2, 0xef, 0x5b, 0xdd, 0xd2, 0xef, 0xb5, 0xe6, 0xb5, 0x46, 0x3a, 0x3e, 0x7f, 0xcf, 0xdd, 0xd5, 0x4f, 0xe9, 0x2f, 0x12, 0x79, 0xab, 0x63, 0xf8, 0x77, 0xd2, 0xfd, 0x83, 0x92, 0x51, 0x32, 0x84, 0x6e, 0x6c, 0x30, 0x5d, 0x93, 0x11, 0x39, 0xff, 0x54, 0x80, 0xd6, 0xe5, 0x3a, 0x60, 0x8b, 0x83, 0xe4, 0x7f, 0xdb, 0xa0, 0x93, 0x66, 0x42, 0x53, 0x10, 0x84, 0x22, 0x4c, 0x82, 0x73, 0x68, 0x35, 0x40, 0x72, 0x46, 0xbf, 0x24, 0x7d, 0x93, 0xe5, 0x5a, 0xd3, 0xc7, 0x79, 0xb9, 0x05, 0x82, 0xa8, 0x44, 0x34, 0x2c, 0xbd, 0x99, 0x54, 0x68, 0xe7, 0x9a, 0x9a, 0xa9, 0x8c, 0x3a, 0x4b, 0x45, 0x43, 0x2e, 0x82, 0xdd, 0x0c, 0xe3, 0x21, 0x68, 0x45, 0x26, 0x8e, 0x38, 0xc9, 0x4a, 0xc7, 0x82, 0x35, 0xd7, 0x7e, 0x20, 0x39, 0x06, 0x64, 0x41, 0xa0, 0xed, 0x10, 0xd7, 0x0b, 0x20, 0xf9, 0x20, 0xd0, 0xf0, 0xa5, 0x26, 0x41, 0x33, 0xd1, 0xb2, 0x3b, 0x09, 0x9b, 0xb3, 0x42, 0x38, 0x97, 0xf0, 0x64, 0x0a, 0x40, 0x59, 0x98, 0x36, 0x13, 0xd6, 0x60, 0x90, 0xd5, 0x77, 0x95, 0x16, 0x91, 0x3b, 0x67, 0x36, 0xde, 0xf6, 0x44, 0xc3, 0x2a, 0xe5, 0xd8, 0x22, 0x4a, 0x3c, 0xd1, 0x46, 0x17, 0xd6, 0xca, 0x18, 0x7a, 0x86, 0x81, 0xe5, 0x14, 0xd7, 0x90, 0xa9, 0xf0, 0xce, 0xa0, 0x31, 0x90, 0xd0, 0x5b, 0x19, 0xa3, 0x2a, 0x61, 0x2e, 0x2e, 0xda, 0xd2, 0x22, 0xc1, 0xfe, 0xa2, 0x6f, 0xeb, 0x99, 0x47, 0x85, 0x8d, 0x87, 0xaa, 0x4b, 0x3d, 0x86, 0xdb, 0x25, 0x38, 0x38, 0x3e, 0x08, 0xfb, 0xa2, 0x9b, 0x81, 0x92, 0x71, 0xd1, 0x85, 0xf9, 0x36, 0xa6, 0x4b, 0x6e, 0x20, 0x1b, 0x91, 0x25, 0xe2, 0x09, 0xbe, 0xff, 0x1a, 0x93, 0xa3, 0xef, 0xe0, 0x05, 0xdc, 0x7b, 0x82, 0x1e, 0xba, 0xd4, 0x1e, 0x4f, 0x4c, 0xca, 0x93, 0xcc, 0x7c, 0x2f, 0xa7, 0x1e, 0x78, 0x7e, 0x18, 0x20, 0x4c, 0x73, 0xae, 0x0d, 0x01, 0xa2, 0x2a, 0xa0, 0x64, 0x07, 0x10, 0xbd, 0x4b, 0xb9, 0x14, 0x59, 0xe2, 0x37, 0x90, 0x04, 0x41, 0xc0, 0x62, 0x38, 0x1f, 0x48, 0x3c, 0x13, 0xe9, 0x8d, 0x65, 0x15, 0x96, 0xc0, 0x4e, 0x2d, 0xd6, 0x92, 0x3e, 0x99, 0xd6, 0xd7, 0xf1, 0x1b, 0x5e, 0x5f, 0x47, 0x6f, 0xf8, 0x03, 0xee, 0xb9, 0xb3, 0xb7, 0x8e, 0xcf, 0xc7, 0xdf, 0x26, 0x3d, 0xa0, 0x11, 0xdc, 0xc9, 0x85, 0xaf, 0xb8, 0x5b, 0x1d, 0x11, 0xbd, 0x7f, 0xcd, 0xfb, 0xef, 0x79, 0x34, 0x3e, 0x10, 0xdc, 0x73, 0xf3, 0x7d, 0xb9, 0xdc, 0xe7, 0x2f, 0xc7, 0xdf, 0x7a, 0xd7, 0xda, 0x23, 0x81, 0x58, 0x31, 0xa6, 0xcd, 0x6c, 0xa7, 0x20, 0x31, 0x93, 0x0e, 0x0d, 0x16, 0xa5, 0xf7, 0xfa, 0xfa, 0x21, 0xf4, 0x6e, 0x66, 0x12, 0xd0, 0x7b, 0xb0, 0xc7, 0x9b, 0xe8, 0xdd, 0x3f, 0xa8, 0x76, 0xd2, 0xac, 0x47, 0xed, 0x05, 0x77, 0xd1, 0xa6, 0x02, 0x8f, 0x3e, 0x32, 0xa7, 0x40, 0xa2, 0x90, 0x76, 0x98, 0x4a, 0x88, 0x79, 0xfe, 0x34, 0x42, 0x37, 0x2f, 0x04, 0x84, 0xae, 0xe7, 0x19, 0xa7, 0xf4, 0x3e, 0x42, 0xd7, 0x94, 0xe2, 0x8c, 0x89, 0xdc, 0xa7, 0xf1, 0x90, 0xbe, 0x3d, 0xaa, 0xf5, 0xcb, 0xc0, 0xc3, 0x1d, 0xd2, 0x4c, 0x33, 0x07, 0x65, 0xe0, 0x80, 0x1c, 0x22, 0xe0, 0x22, 0x0a, 0xca, 0xc0, 0x05, 0xb1, 0xa1, 0x3b, 0xdf, 0x96, 0xe6, 0xb7, 0xaa, 0x1f, 0x2a, 0xd5, 0xb0, 0xb9, 0xb1, 0x1a, 0x09, 0x6d, 0xb8, 0x07, 0x7c, 0x40, 0x81, 0x79, 0x70, 0x23, 0x5b, 0xe8, 0x41, 0x59, 0xb4, 0x3a, 0xbd, 0xce, 0x28, 0xcf, 0x03, 0x30, 0x64, 0xdd, 0x7b, 0x4a, 0x6a, 0x1e, 0xb4, 0x01, 0x52, 0x54, 0x86, 0x79, 0x31, 0x0c, 0xd3, 0xa0, 0xfd, 0xd0, 0x56, 0xd3, 0xc2, 0xa6, 0xa5, 0x12, 0x45, 0x28, 0xbc, 0x12, 0xe4, 0x20, 0x65, 0x14, 0x96, 0xa6, 0xc4, 0x04, 0xd8, 0x2b, 0x19, 0x29, 0xa8, 0x8d, 0x22, 0xac, 0xb5, 0xdb, 0xbd, 0x34, 0x65, 0xcb, 0x19, 0xf7, 0xa4, 0x83, 0x62, 0x3c, 0x2b, 0xea, 0xa1, 0xeb, 0xd0, 0xfe, 0xc2, 0xfe, 0x35, 0xb0, 0x2f, 0x5e, 0xbf, 0x1b, 0x53, 0xe4, 0x2a, 0x43, 0xad, 0x81, 0x9a, 0xc1, 0x75, 0xc6, 0xf5, 0x21, 0x97, 0xe0, 0x1c, 0xe6, 0x11, 0x5b, 0xf0, 0x67, 0x9b, 0x22, 0xbe, 0x88, 0x3a, 0x84, 0xf0, 0x89, 0xa0, 0x50, 0x2f, 0xe5, 0x82, 0x1b, 0x63, 0xdb, 0x21, 0x2e, 0x4e, 0x2b, 0x70, 0x73, 0xd3, 0x8a, 0x76, 0x78, 0x9e, 0x22, 0x18, 0x47, 0x5a, 0x96, 0x47, 0xd3, 0xd8, 0xd5, 0xf6, 0xcc, 0x2b, 0x46, 0x64, 0x17, 0x0c, 0x32, 0xdb, 0xe1, 0xaa, 0xe8, 0x74, 0xa5, 0xef, 0x2e, 0x56, 0x30, 0x93, 0x24, 0x67, 0x6c, 0x77, 0xa3, 0xf1, 0x48, 0x1b, 0xb8, 0xba, 0x7e, 0x34, 0xa4, 0x87, 0x25, 0xfd, 0xd0, 0xfe, 0xf4, 0x09, 0x7e, 0x3a, 0x0a, 0x36, 0x3a, 0x28, 0xa1, 0x91, 0x0e, 0xaa, 0x16, 0x1d, 0x97, 0xb2, 0x1b, 0x8b, 0x19, 0x75, 0xde, 0xc0, 0xd9, 0x6b, 0x23, 0x05, 0x42, 0x4b, 0x64, 0xcc, 0x43, 0xd7, 0xbc, 0x2d, 0x09, 0x70, 0x5a, 0x8c, 0x6e, 0x53, 0xb7, 0x0e, 0xfd, 0xe8, 0x28, 0x72, 0xe8, 0x76, 0xce, 0x2f, 0x64, 0x99, 0xf1, 0x23, 0x6f, 0x49, 0x97, 0x49, 0xce, 0xfd, 0xad, 0x5e, 0xe4, 0xab, 0xa1, 0xbe, 0xc5, 0xc2, 0x63, 0x99, 0x7e, 0x12, 0x91, 0xfe, 0x48, 0xe8, 0x60, 0x18, 0xc0, 0xac, 0x70, 0xbb, 0x65, 0x74, 0xa5, 0x76, 0xeb, 0x6c, 0x11, 0x8d, 0xe8, 0x5b, 0x8d, 0x05, 0x6d, 0x25, 0xa2, 0xe0, 0xef, 0xc4, 0x6a, 0xbe, 0x34, 0x3b, 0xdb, 0xf7, 0xf1, 0x68, 0x7d, 0x07, 0x66, 0x62, 0xdf, 0xbd, 0xe7, 0xfc, 0x1c, 0x91, 0x6d, 0x3e, 0x3f, 0xdd, 0xb3, 0xff, 0x3d, 0xce, 0xef, 0xc9, 0xaf, 0x72, 0x7e, 0x4f, 0xfe, 0xb7, 0x39, 0xbf, 0x27, 0xff, 0xf2, 0xf9, 0x3d, 0x0a, 0xce, 0xef, 0xc9, 0xff, 0x2e, 0xe7, 0xa7, 0xfd, 0xd5, 0xf4, 0xf4, 0xb2, 0xe0, 0xfc, 0xc6, 0x92, 0x36, 0xa2, 0xc0, 0x7c, 0xb4, 0xd3, 0xfa, 0x16, 0x07, 0x69, 0x24, 0xd1, 0x91, 0xbd, 0xe0, 0x9a, 0x6b, 0xcb, 0xd0, 0x90, 0x3d, 0x0d, 0x4b, 0x46, 0x5a, 0x56, 0xa1, 0x83, 0x9e, 0x9c, 0x27, 0x76, 0x02, 0xde, 0x31, 0x38, 0xa0, 0x2d, 0x28, 0x68, 0x51, 0x17, 0x75, 0x4d, 0x7e, 0x4b, 0xb3, 0x7e, 0x2e, 0xaf, 0xac, 0x5d, 0x51, 0x70, 0x0c, 0x49, 0xcb, 0x6c, 0xdc, 0xf3, 0x17, 0xb4, 0x5d, 0x43, 0x7e, 0xfc, 0x4f, 0xd1, 0x62, 0x37, 0x74, 0x6c, 0x76, 0x53, 0x8a, 0x85, 0x25, 0xbc, 0xad, 0x73, 0xe7, 0x66, 0xa3, 0x59, 0xde, 0xa1, 0xc5, 0xce, 0xac, 0xab, 0xea, 0xd8, 0x13, 0xbc, 0xff, 0xc8, 0xca, 0x2b, 0xe0, 0xf8, 0xbc, 0xf8, 0xf0, 0x3e, 0xf4, 0xbd, 0x99, 0xa5, 0x86, 0xd0, 0x88, 0xe6, 0xb8, 0x86, 0x64, 0xdb, 0x0f, 0x81, 0x12, 0x6f, 0x6e, 0xe3, 0xd9, 0xd7, 0xbb, 0x9e, 0x13, 0x08, 0x41, 0x8b, 0x32, 0xd6, 0xef, 0x8e, 0xcb, 0x6e, 0x6d, 0x69, 0x79, 0x3d, 0xe8, 0xf4, 0xb8, 0xb4, 0x69, 0xef, 0x4e, 0x49, 0x81, 0x77, 0x44, 0x0a, 0x76, 0xab, 0xa0, 0xbf, 0x25, 0x29, 0x83, 0x79, 0x2d, 0xa8, 0x71, 0x04, 0xa3, 0xa1, 0x72, 0x10, 0x33, 0xfb, 0x2d, 0x33, 0xfe, 0x9e, 0x1c, 0xb6, 0x76, 0xf5, 0x35, 0x74, 0xc5, 0xf5, 0x72, 0x25, 0xa5, 0xc5, 0xf7, 0x94, 0x56, 0x26, 0xdc, 0x8d, 0x11, 0x65, 0x93, 0xec, 0xde, 0x97, 0x2a, 0x23, 0xb5, 0xcc, 0x6d, 0x69, 0x85, 0x98, 0xef, 0xbd, 0xc0, 0x68, 0x51, 0x2c, 0xaa, 0x8b, 0x6e, 0x82, 0x14, 0x57, 0xc4, 0x28, 0xbe, 0x3a, 0x71, 0x49, 0x4f, 0x6b, 0x96, 0x42, 0x07, 0x80, 0x00, 0xf0, 0x57, 0x63, 0xe0, 0xdc, 0x88, 0x12, 0x52, 0x81, 0x15, 0xcd, 0x99, 0xd1, 0x05, 0xcd, 0xab, 0x66, 0x98, 0x91, 0x54, 0x59, 0xd5, 0x5e, 0x9c, 0xda, 0x16, 0x86, 0x00, 0xdc, 0x29, 0x56, 0x1d, 0x80, 0x60, 0x0f, 0xd4, 0x5b, 0xc9, 0xea, 0x13, 0xe8, 0x0e, 0x8b, 0xcd, 0x54, 0x5c, 0x6b, 0xed, 0x4d, 0xab, 0x45, 0xc9, 0x70, 0x12, 0x86, 0x03, 0x5a, 0x25, 0x80, 0xff, 0x06, 0xda, 0xe8, 0x29, 0xcb, 0x60, 0xd5, 0xcc, 0x73, 0x4c, 0x44, 0x6e, 0x92, 0x5f, 0xf5, 0x11, 0x75, 0x05, 0x90, 0xa1, 0xa3, 0x0b, 0x94, 0x7e, 0x15, 0xdc, 0x04, 0xa4, 0xed, 0x92, 0xea, 0x18, 0x49, 0x9c, 0xfd, 0x1b, 0x24, 0x14, 0x0a, 0xc0, 0x40, 0xf4, 0x18, 0x5b, 0x29, 0xe0, 0x9c, 0x5b, 0x7c, 0x95, 0xf9, 0x55, 0xd3, 0x16, 0x82, 0x92, 0xa3, 0x14, 0x9c, 0xbc, 0x68, 0x76, 0x51, 0x32, 0x61, 0x83, 0x86, 0x43, 0x40, 0x45, 0x90, 0xa9, 0x6f, 0x09, 0x8a, 0xd3, 0x5a, 0xa0, 0x67, 0xb9, 0xe5, 0x32, 0x40, 0x6f, 0x7e, 0xbb, 0x2a, 0x65, 0x2f, 0x33, 0xdc, 0x67, 0x51, 0xd9, 0x25, 0x87, 0xff, 0x37, 0x65, 0x21, 0x77, 0x00, 0xd7, 0xb8, 0x99, 0xb8, 0x85, 0x5c, 0x83, 0x47, 0xb0, 0x68, 0xaa, 0x72, 0x75, 0x97, 0x7c, 0x95, 0xd2, 0xb2, 0xa0, 0xd6, 0xa7, 0xd9, 0x32, 0x28, 0x4d, 0xe3, 0xf6, 0xe2, 0xa2, 0x66, 0x73, 0xab, 0x71, 0x5d, 0x21, 0xec, 0x02, 0xde, 0x16, 0x43, 0xac, 0x66, 0xbf, 0xc8, 0x99, 0x2c, 0x65, 0x23, 0x9c, 0x7a, 0x3d, 0x1e, 0x9f, 0x86, 0xb6, 0x9c, 0x36, 0x36, 0xda, 0x88, 0x49, 0x80, 0xd1, 0x86, 0xdd, 0xe8, 0x88, 0x0c, 0xfe, 0x22, 0xca, 0x39, 0x64, 0xdd, 0xd9, 0x42, 0x31, 0x3b, 0x14, 0x47, 0x7e, 0x5a, 0xdd, 0xad, 0xc8, 0xf8, 0x92, 0x22, 0x5c, 0xbe, 0xe6, 0x34, 0x3f, 0x06, 0x81, 0xdd, 0x58, 0xf6, 0xfc, 0xa1, 0xf6, 0xb0, 0xd4, 0x21, 0x4b, 0x29, 0x7e, 0x4f, 0xa0, 0xc8, 0x04, 0x6e, 0x25, 0xb2, 0x95, 0xa4, 0xce, 0x0c, 0x68, 0x2e, 0xbd, 0x3d, 0xce, 0xa4, 0x73, 0x59, 0xa7, 0x3b, 0x06, 0x9b, 0x33, 0x64, 0x69, 0x11, 0x22, 0x22, 0xc2, 0x29, 0xbb, 0x2a, 0xdf, 0xe5, 0x0d, 0xa9, 0xda, 0xeb, 0xde, 0x0c, 0xdb, 0x3c, 0x21, 0x25, 0x84, 0x87, 0x22, 0x80, 0x92, 0xe1, 0x2c, 0x8f, 0x83, 0xfd, 0xfd, 0x7b, 0x31, 0x82, 0xc4, 0x5a, 0xdd, 0x08, 0x15, 0x44, 0xec, 0x90, 0x03, 0x1c, 0xb6, 0xa6, 0x3d, 0xcd, 0xa5, 0x60, 0xa9, 0x8b, 0xaa, 0x66, 0x3e, 0x69, 0x21, 0x7b, 0xdc, 0x15, 0x64, 0xb6, 0xca, 0x50, 0x5a, 0x00, 0x0c, 0x32, 0x77, 0xfb, 0x18, 0x73, 0xac, 0x9f, 0xb7, 0xde, 0x89, 0xb6, 0x94, 0xa6, 0x09, 0xd1, 0x4b, 0xa2, 0x7f, 0x8e, 0x92, 0x3f, 0xdf, 0x39, 0xbb, 0x1d, 0x0c, 0x91, 0xfd, 0xc1, 0x98, 0x15, 0xfb, 0xf9, 0x79, 0xfe, 0xa3, 0x4d, 0xac, 0x3f, 0x8e, 0x03, 0xf4, 0x6f, 0xcc, 0x58, 0x30, 0xac, 0xe1, 0x76, 0xab, 0x1a, 0xa3, 0x02, 0x4e, 0x24, 0xee, 0xb0, 0xb2, 0xab, 0x35, 0xfa, 0x47, 0xb7, 0xc9, 0x92, 0xd7, 0x2f, 0x89, 0xb9, 0xe0, 0x46, 0x3c, 0xe7, 0x36, 0xaa, 0x53, 0x3b, 0x0b, 0xf5, 0x69, 0x5b, 0x4d, 0xa1, 0xd2, 0xea, 0x21, 0x0a, 0xa8, 0xbb, 0xa8, 0x11, 0x54, 0x73, 0x4d, 0xbc, 0x0b, 0xbe, 0x86, 0xb2, 0xf0, 0x3c, 0x30, 0x84, 0x26, 0xc6, 0x99, 0x3f, 0x5a, 0x6b, 0xd5, 0x01, 0xb1, 0xf5, 0x19, 0xab, 0x22, 0xef, 0xeb, 0x4d, 0x9f, 0x95, 0x1e, 0x76, 0x95, 0x2d, 0xaf, 0xeb, 0xb8, 0x72, 0xd8, 0x97, 0x13, 0xc2, 0x62, 0x70, 0x06, 0xb1, 0x73, 0x13, 0x72, 0xa1, 0x38, 0xb2, 0x23, 0xa0, 0x09, 0xb2, 0xea, 0x68, 0x34, 0x96, 0x41, 0x22, 0x9d, 0xc8, 0x29, 0x61, 0x9c, 0x4f, 0x39, 0xaa, 0xde, 0x3a, 0x58, 0x35, 0xee, 0x33, 0xc6, 0x2b, 0xa9, 0x1d, 0x1c, 0x1c, 0x31, 0x6d, 0xee, 0x99, 0x66, 0x46, 0xad, 0x6d, 0x6a, 0x58, 0xe8, 0x11, 0xf5, 0x2a, 0xb4, 0xcd, 0x93, 0x84, 0x50, 0x53, 0xaf, 0xe1, 0xbd, 0xe6, 0xe1, 0x2d, 0x02, 0x1b, 0xdf, 0x49, 0xae, 0x5c, 0x27, 0x3f, 0x99, 0x54, 0xe0, 0x06, 0x6c, 0x83, 0xa2, 0xe3, 0x04, 0xde, 0x98, 0xe0, 0x70, 0x50, 0x02, 0xbf, 0xae, 0xbc, 0x18, 0xf9, 0xd6, 0x55, 0x6e, 0x4e, 0xb5, 0xd8, 0x02, 0x30, 0xe4, 0x7a, 0xc2, 0x98, 0xa3, 0x8d, 0x7e, 0x34, 0x58, 0xec, 0x7a, 0xe1, 0x39, 0x66, 0xe3, 0x6d, 0xc6, 0x5b, 0x09, 0xdf, 0x83, 0xa4, 0x75, 0x21, 0x54, 0x9f, 0xe4, 0xb0, 0xbd, 0x2b, 0xbe, 0xe7, 0x73, 0x8b, 0x7a, 0x73, 0x5d, 0x21, 0x1e, 0xdd, 0x7c, 0x74, 0xe6, 0x1a, 0xf8, 0x6d, 0x71, 0x9c, 0xa3, 0x39, 0x5d, 0x92, 0x13, 0x87, 0x75, 0x55, 0xda, 0xe5, 0x68, 0xd3, 0x12, 0x3a, 0x08, 0x81, 0x6c, 0x89, 0x60, 0x0a, 0x4b, 0x6a, 0x5f, 0x7a, 0x87, 0xaa, 0x23, 0xfb, 0x69, 0x50, 0x77, 0x00, 0x00, 0x47, 0x60, 0x88, 0x25, 0x34, 0x7f, 0xa1, 0x63, 0xda, 0xc2, 0x69, 0x95, 0xaf, 0x1a, 0xce, 0x47, 0x90, 0xe4, 0xea, 0x8d, 0xc0, 0x39, 0xe6, 0x6f, 0x97, 0x8b, 0x72, 0x92, 0xf2, 0x1d, 0xb1, 0xb9, 0x4d, 0xea, 0xf1, 0x6c, 0x01, 0x16, 0x13, 0x7b, 0x23, 0xf2, 0x8c, 0x34, 0x5c, 0x30, 0x4b, 0x1e, 0x3e, 0x47, 0x77, 0x78, 0x0a, 0x84, 0x6e, 0xfa, 0xa0, 0xfd, 0x04, 0xc3, 0xff, 0x0d, 0xe7, 0x03, 0xb9, 0xbd, 0x5a, 0x95, 0x8d, 0xd4, 0xb0, 0xda, 0xbb, 0x53, 0x81, 0xce, 0x05, 0x18, 0x85, 0xd9, 0x3a, 0x6b, 0x67, 0x8a, 0x6d, 0x4b, 0x98, 0x58, 0x5a, 0xda, 0x21, 0x5b, 0xc9, 0x76, 0x2a, 0x90, 0x70, 0x6c, 0x34, 0x0b, 0x8a, 0x00, 0x82, 0x25, 0x6b, 0x69, 0x60, 0x8c, 0x8f, 0x1b, 0x54, 0x68, 0x14, 0x24, 0x95, 0xdc, 0xe4, 0x34, 0xfb, 0xd6, 0xdb, 0x2b, 0x06, 0x56, 0x08, 0x29, 0x7e, 0xce, 0x0a, 0x21, 0xfc, 0x97, 0x7c, 0x26, 0x1b, 0x76, 0xc6, 0x47, 0x19, 0x6f, 0x9b, 0x08, 0xf6, 0xd3, 0x71, 0xf1, 0x04, 0xb6, 0x56, 0x93, 0xd1, 0x40, 0xfe, 0xfd, 0x1d, 0x43, 0x2c, 0x52, 0xfd, 0x96, 0x22, 0xf1, 0x00, 0xd8, 0x98, 0xda, 0xce, 0x8f, 0x79, 0x41, 0xbc, 0x32, 0x8f, 0x6e, 0x0a, 0xe5, 0xb8, 0x2d, 0xee, 0x38, 0x8b, 0x06, 0x67, 0x0e, 0x7d, 0x57, 0x62, 0x06, 0x4a, 0x50, 0x59, 0x33, 0xf5, 0x7e, 0x39, 0xcb, 0xd2, 0x45, 0xac, 0x5b, 0x06, 0x4d, 0x98, 0x1c, 0xdd, 0xcc, 0xda, 0x08, 0x26, 0xa5, 0x90, 0x90, 0x89, 0xe4, 0x58, 0x73, 0x96, 0xa1, 0x18, 0x07, 0x76, 0x86, 0xb8, 0x55, 0x11, 0xed, 0x9a, 0xfa, 0xf7, 0xe0, 0x01, 0xd4, 0x0e, 0x4f, 0x05, 0x91, 0x00, 0x01, 0x4f, 0x57, 0x82, 0x43, 0x98, 0x6e, 0x94, 0x90, 0xa8, 0x0f, 0x80, 0x02, 0x90, 0x0f, 0xdf, 0x1d, 0x4e, 0x1c, 0xa9, 0x5c, 0x17, 0x0a, 0x21, 0xa3, 0x65, 0x1b, 0x34, 0x31, 0xce, 0x81, 0x21, 0x26, 0xb9, 0x2b, 0xf7, 0x10, 0x79, 0x16, 0xc2, 0x39, 0x56, 0xe1, 0x49, 0x5f, 0x67, 0x9a, 0x19, 0x05, 0x53, 0x86, 0x0f, 0xa0, 0xb1, 0xc5, 0xb2, 0x34, 0x9a, 0xf0, 0x19, 0x66, 0x32, 0x87, 0x87, 0x3d, 0xa6, 0x97, 0xf4, 0x49, 0x17, 0x1a, 0xc3, 0x65, 0xaf, 0xd3, 0x79, 0xa6, 0xc0, 0xa9, 0xc2, 0xbe, 0xcb, 0xa9, 0xd9, 0x42, 0x04, 0x69, 0x01, 0x4a, 0x44, 0xda, 0x51, 0x60, 0x41, 0x33, 0xd7, 0x24, 0x2e, 0x69, 0x45, 0x2e, 0x5d, 0x04, 0x61, 0xb7, 0xf5, 0x22, 0x5f, 0xa9, 0x7f, 0x7a, 0x90, 0x64, 0x92, 0x55, 0xb4, 0xb8, 0x93, 0x53, 0x59, 0x0f, 0x23, 0xa6, 0x97, 0x6d, 0xe6, 0x2e, 0xf0, 0xb7, 0x0b, 0x52, 0xfc, 0x77, 0x3a, 0xa3, 0x3f, 0xda, 0x3f, 0xc0, 0x64, 0x1f, 0xed, 0x3f, 0xdd, 0x6d, 0x4b, 0xe5, 0x45, 0x9d, 0x0d, 0x91, 0xb4, 0x16, 0xd7, 0x4e, 0xb9, 0x55, 0x9d, 0xf3, 0xab, 0x43, 0x13, 0xa5, 0x97, 0x24, 0xd3, 0x6d, 0xb6, 0xae, 0xd4, 0x94, 0xa3, 0x26, 0x86, 0x64, 0x98, 0xd6, 0x57, 0x84, 0xba, 0x18, 0x48, 0x79, 0xf7, 0x0e, 0x8c, 0x36, 0xc4, 0x6e, 0x78, 0x9f, 0x52, 0xbc, 0x2a, 0x0d, 0xd2, 0x78, 0x1f, 0xf0, 0x1c, 0x59, 0xa5, 0x1c, 0x60, 0x88, 0xb5, 0x33, 0x55, 0x24, 0x07, 0x4e, 0x12, 0x93, 0xf0, 0x5d, 0xbb, 0xdd, 0xb0, 0xe5, 0x3b, 0x6f, 0xf2, 0x22, 0xaf, 0xaf, 0xd0, 0xa6, 0xb8, 0xae, 0xd3, 0xcb, 0x2c, 0x2c, 0x70, 0x37, 0x0c, 0xc9, 0x98, 0x4c, 0xdc, 0x46, 0xaf, 0x02, 0x32, 0x3d, 0xa5, 0x86, 0xf1, 0xbe, 0x4b, 0xc1, 0x8a, 0xf4, 0xd8, 0x03, 0x32, 0x9a, 0x5b, 0x66, 0x8c, 0x5e, 0xf2, 0xda, 0x6b, 0x00, 0xd9, 0xd7, 0xff, 0x91, 0xba, 0x91, 0x01, 0x22, 0x8b, 0x7b, 0x03, 0x71, 0x73, 0xa0, 0x58, 0xd7, 0x17, 0xa3, 0x6a, 0x9b, 0xc3, 0x3d, 0x1b, 0x1b, 0x16, 0xe4, 0x7a, 0x15, 0x23, 0x05, 0xd0, 0xfc, 0xec, 0x7b, 0xa3, 0x8b, 0x8e, 0x9e, 0xd9, 0x1f, 0xef, 0x3e, 0xac, 0x61, 0xe4, 0x61, 0x47, 0x37, 0xa3, 0x5c, 0x5c, 0x89, 0x44, 0xc0, 0x54, 0xf9, 0x82, 0xff, 0x11, 0xf7, 0x75, 0xa0, 0xae, 0xd5, 0x58, 0x91, 0x6f, 0x5f, 0x02, 0x52, 0xca, 0x21, 0x3c, 0x7b, 0x69, 0xbb, 0xad, 0x1a, 0x3d, 0x74, 0xcf, 0x24, 0x55, 0x35, 0x0a, 0xf0, 0x67, 0x31, 0x79, 0x39, 0x83, 0xd0, 0x45, 0xdd, 0x54, 0x97, 0x33, 0x82, 0xb7, 0x21, 0xc3, 0x94, 0xa0, 0x77, 0x92, 0xd3, 0x8c, 0x9b, 0xe5, 0x24, 0xdb, 0x5f, 0x6e, 0x47, 0xaa, 0xf9, 0xb6, 0x5f, 0x78, 0x08, 0xe3, 0xb5, 0x6b, 0xc4, 0xb5, 0xfd, 0x47, 0x4a, 0x4a, 0x26, 0x30, 0x15, 0xfe, 0xa6, 0x9c, 0x01, 0xe7, 0xd7, 0xc6, 0xc3, 0xfa, 0x9a, 0xd2, 0x27, 0xf8, 0x80, 0xed, 0xe4, 0x21, 0x6e, 0x7c, 0x4d, 0xd8, 0xeb, 0x9d, 0x75, 0xab, 0x3e, 0xb7, 0x1d, 0x54, 0xfb, 0x51, 0xea, 0x3e, 0xa3, 0xf5, 0x48, 0x77, 0x70, 0xd7, 0xc6, 0x94, 0xe7, 0xc4, 0x93, 0x81, 0xaf, 0x72, 0x3a, 0xcd, 0x49, 0x73, 0xc1, 0xd5, 0x37, 0xbf, 0xbc, 0xbc, 0x8c, 0xa6, 0x38, 0x99, 0x2d, 0xa0, 0x83, 0xa7, 0x35, 0xcf, 0xb3, 0xb4, 0x81, 0xbe, 0x41, 0x72, 0xbe, 0x3f, 0x79, 0xda, 0xe9, 0xee, 0x91, 0x67, 0xbc, 0x55, 0xbc, 0xf0, 0xeb, 0x53, 0xe2, 0x54, 0x00, 0x22, 0x60, 0x1a, 0x20, 0x44, 0x4f, 0xfc, 0xcc, 0x7a, 0xbb, 0xe6, 0xa9, 0x21, 0x8a, 0x3b, 0x09, 0x2d, 0x2f, 0x50, 0x4f, 0xc0, 0x1c, 0x24, 0x5b, 0x06, 0x3c, 0x6c, 0xa1, 0xa9, 0xb9, 0x9c, 0xc1, 0x4e, 0xbd, 0x44, 0x38, 0xd9, 0x99, 0xf6, 0x99, 0xe5, 0x81, 0x4b, 0x7a, 0x4f, 0xb4, 0xa1, 0x86, 0xcb, 0x65, 0xef, 0x7a, 0x45, 0xfc, 0xcc, 0x76, 0x51, 0x55, 0xd4, 0x06, 0x44, 0x72, 0xbe, 0x30, 0x0c, 0xcf, 0x57, 0x99, 0xf8, 0xc5, 0x8c, 0x5d, 0x1f, 0x25, 0x4c, 0x08, 0xc3, 0x8d, 0xf6, 0x70, 0x49, 0xb8, 0xa2, 0x60, 0x4a, 0x30, 0x36, 0x60, 0x32, 0x65, 0x42, 0x4d, 0xda, 0x0e, 0x8f, 0x3e, 0xff, 0x7c, 0x14, 0xc5, 0x39, 0xe5, 0xf2, 0x6c, 0x43, 0x84, 0xb4, 0x53, 0x0e, 0x13, 0x73, 0x60, 0xd1, 0x8d, 0xe9, 0xfb, 0x44, 0x61, 0x28, 0x1f, 0x2b, 0x97, 0x04, 0x5d, 0x44, 0xcc, 0x71, 0xbd, 0x08, 0xcd, 0x7b, 0x84, 0x1e, 0x97, 0xa4, 0x56, 0x08, 0x17, 0x83, 0x7a, 0x45, 0x5c, 0x63, 0x99, 0xf7, 0xa8, 0x74, 0x99, 0xa4, 0xe7, 0x71, 0x2a, 0xa7, 0x40, 0x03, 0x4a, 0x3e, 0x29, 0xa7, 0xfd, 0x1a, 0xad, 0x01, 0x39, 0xee, 0x9c, 0xf5, 0xc1, 0xdb, 0xb1, 0xdd, 0x53, 0x0e, 0xba, 0x9d, 0x68, 0xf4, 0x73, 0x92, 0x59, 0x7c, 0x05, 0xee, 0xbc, 0xd5, 0x41, 0xc0, 0xe1, 0x92, 0xf1, 0x82, 0x6a, 0xc2, 0xa8, 0xd3, 0x85, 0xf9, 0x40, 0x67, 0x38, 0x54, 0x48, 0x5f, 0x66, 0x4d, 0x58, 0xc7, 0xe4, 0x65, 0xf7, 0x6e, 0x18, 0x3c, 0x66, 0x13, 0x49, 0x19, 0x56, 0xf2, 0x62, 0x24, 0x91, 0x84, 0x59, 0x3e, 0xd7, 0x4b, 0x6a, 0xbb, 0x43, 0x7c, 0x89, 0xd3, 0x78, 0x21, 0x5b, 0x2f, 0x65, 0x89, 0x5f, 0x46, 0x31, 0xce, 0x24, 0xc5, 0x18, 0x80, 0x5b, 0x4d, 0x63, 0xd4, 0x6a, 0xc7, 0xbb, 0x91, 0x45, 0xce, 0xbd, 0x08, 0xb8, 0x76, 0x87, 0x37, 0x98, 0xf3, 0x36, 0x17, 0x31, 0x90, 0x8d, 0x17, 0x76, 0x50, 0x69, 0x75, 0x42, 0x89, 0xfc, 0x34, 0x95, 0xd8, 0x4e, 0x28, 0x4e, 0x39, 0xf1, 0x07, 0xf3, 0x74, 0x60, 0xf5, 0xd0, 0xbb, 0xde, 0x3e, 0x85, 0x67, 0xef, 0x47, 0xd6, 0x04, 0x51, 0x83, 0xb7, 0xd8, 0x25, 0x80, 0xfb, 0xd1, 0x19, 0x59, 0xa9, 0xd1, 0x84, 0xe3, 0xdd, 0xb9, 0x69, 0xa9, 0xae, 0x92, 0x1b, 0x94, 0x75, 0x59, 0x66, 0x3c, 0x4b, 0xc0, 0x6a, 0xe8, 0xae, 0x92, 0xaf, 0xb2, 0xa9, 0xd6, 0x53, 0x52, 0x2c, 0x61, 0x94, 0xe3, 0x53, 0xb1, 0x6e, 0x5c, 0xea, 0x5e, 0xb5, 0x2b, 0x46, 0xcf, 0x3c, 0x9c, 0x17, 0x76, 0x59, 0x00, 0x01, 0xd9, 0xc2, 0x13, 0xbc, 0x48, 0xce, 0x50, 0x1d, 0x46, 0xfb, 0xb8, 0x66, 0x70, 0xb7, 0xd4, 0xf9, 0x3f, 0x58, 0x29, 0x93, 0xd4, 0x5e, 0x85, 0x47, 0x83, 0x83, 0x23, 0x23, 0xc0, 0xfe, 0xe4, 0x35, 0x75, 0x19, 0x65, 0x51, 0x4e, 0xf4, 0x16, 0xf0, 0x69, 0x3f, 0xb1, 0x9d, 0x25, 0x12, 0xa9, 0x71, 0x55, 0x76, 0xb9, 0x26, 0x29, 0x87, 0x7d, 0xda, 0x51, 0x38, 0x54, 0x7d, 0x62, 0x95, 0xaf, 0xd0, 0xc9, 0xc4, 0xd8, 0x73, 0x41, 0xae, 0xbc, 0x79, 0x8b, 0xfb, 0x87, 0xae, 0x0b, 0xb3, 0x5d, 0xcd, 0x9a, 0x62, 0x90, 0x82, 0x07, 0x63, 0xf8, 0xd7, 0xdf, 0xe0, 0xfa, 0x2b, 0x65, 0xe9, 0xdc, 0x7b, 0x63, 0x66, 0x4d, 0xef, 0x6c, 0x1e, 0xd8, 0x2e, 0x19, 0x32, 0x5f, 0x00, 0x64, 0x46, 0xa9, 0x24, 0x8d, 0x32, 0x00, 0x6e, 0x34, 0x47, 0x8e, 0x98, 0x3f, 0x52, 0x9c, 0x72, 0x9a, 0x39, 0x18, 0x57, 0x6c, 0x0a, 0xaa, 0xaa, 0x83, 0x5b, 0x0d, 0x44, 0x44, 0xd5, 0x9d, 0x7c, 0x9c, 0x4c, 0x69, 0x76, 0x32, 0x60, 0xe4, 0x57, 0x2e, 0x6f, 0x12, 0xd0, 0x9f, 0xb4, 0xe6, 0xf2, 0x89, 0x3a, 0x6c, 0xc0, 0x0a, 0x21, 0xc0, 0x5a, 0xf5, 0xdf, 0xac, 0xc1, 0x4b, 0x9c, 0x2f, 0x02, 0x9f, 0x04, 0xdc, 0xd8, 0xe7, 0x9c, 0xa7, 0x81, 0x76, 0x76, 0xc2, 0xd0, 0x6c, 0x5c, 0x42, 0xca, 0xa3, 0x58, 0x45, 0xdc, 0x36, 0xac, 0x93, 0xf6, 0x7e, 0x5b, 0x2e, 0x6e, 0x0c, 0xb3, 0xc7, 0xd9, 0xf9, 0x60, 0xd5, 0x7c, 0x4d, 0x2c, 0xd2, 0xa5, 0xe5, 0x21, 0xa4, 0x52, 0x55, 0xa9, 0xe1, 0x98, 0x7f, 0x5b, 0x5d, 0xf6, 0x80, 0x2a, 0x72, 0xcf, 0x1c, 0x63, 0x2b, 0x84, 0x4d, 0xba, 0x40, 0x87, 0xc3, 0x37, 0x89, 0xcc, 0xe7, 0x8b, 0x2f, 0x5b, 0xc3, 0x69, 0xe3, 0x0a, 0x1f, 0x97, 0x5d, 0x30, 0x3e, 0xa6, 0x97, 0xf9, 0x3d, 0x9b, 0xc0, 0x4d, 0x0d, 0x6c, 0x3a, 0x71, 0x7d, 0x55, 0x66, 0x72, 0x76, 0x05, 0x4c, 0x60, 0xdb, 0x83, 0xc9, 0xac, 0xab, 0x8e, 0x76, 0xd4, 0x50, 0x8d, 0xb7, 0x7f, 0xda, 0x90, 0xeb, 0xff, 0x51, 0x5e, 0x15, 0xf4, 0x0f, 0xfa, 0x02, 0x7d, 0xe0, 0x8b, 0x83, 0x83, 0xe8, 0xcc, 0x7b, 0xe7, 0xcb, 0x13, 0xd6, 0x19, 0x93, 0x30, 0x92, 0x14, 0x51, 0x8f, 0xb7, 0xb5, 0x4c, 0xff, 0x11, 0xaa, 0xe6, 0x42, 0x37, 0x1b, 0xee, 0x10, 0xf0, 0xc8, 0xbc, 0x57, 0x39, 0xfd, 0x2e, 0xca, 0x12, 0x73, 0x2b, 0x1f, 0x16, 0x21, 0xb8, 0x85, 0xd1, 0xd5, 0xe8, 0x48, 0xfa, 0x17, 0xbf, 0x45, 0xb1, 0xa0, 0xbb, 0x2f, 0x5e, 0x5c, 0xad, 0x2f, 0x33, 0xf0, 0xcd, 0xe6, 0xb6, 0xd9, 0x7a, 0xd0, 0xca, 0xc9, 0x4b, 0xc1, 0x6e, 0x0a, 0x4e, 0xb1, 0x6e, 0xbc, 0x64, 0x23, 0xd4, 0x2c, 0xb4, 0x54, 0x08, 0x4e, 0xc5, 0x24, 0x4b, 0x49, 0x43, 0x5d, 0xdd, 0xba, 0x22, 0x56, 0x46, 0x07, 0xbc, 0x69, 0x82, 0x7b, 0xe1, 0x2a, 0xed, 0x37, 0xac, 0xe0, 0x26, 0x9b, 0x7c, 0xf1, 0x25, 0xf9, 0xb6, 0x6e, 0xd1, 0x3f, 0x80, 0xb5, 0x5a, 0xda, 0xba, 0x3d, 0xb4, 0x13, 0x48, 0xbc, 0x45, 0x74, 0x07, 0x29, 0xab, 0xfe, 0x61, 0xbd, 0x3a, 0x27, 0x6f, 0xc8, 0x79, 0x59, 0x6e, 0x1c, 0x51, 0x7d, 0x37, 0xd8, 0x13, 0x2f, 0x99, 0x91, 0x53, 0xfc, 0x5c, 0x0d, 0x27, 0x13, 0x04, 0xe4, 0x4c, 0x4b, 0x5c, 0xc6, 0x6a, 0xea, 0xc9, 0x43, 0x26, 0xfd, 0xcc, 0x55, 0xe2, 0x7c, 0x31, 0x40, 0x99, 0x4f, 0xbc, 0x63, 0x8c, 0x5b, 0x03, 0x5f, 0x47, 0x40, 0x20, 0xd1, 0x5f, 0xff, 0x68, 0x5f, 0xa7, 0xff, 0x98, 0xdb, 0x0c, 0x44, 0xee, 0x0d, 0xab, 0xa1, 0x50, 0xa0, 0xbe, 0xb3, 0x87, 0xf0, 0x93, 0x6d, 0x04, 0xb5, 0x3d, 0x60, 0x45, 0xfb, 0x8f, 0xdb, 0x70, 0xe3, 0x6a, 0x90, 0x1a, 0xed, 0x99, 0xc0, 0xe3, 0x66, 0x65, 0xa0, 0xd6, 0x52, 0x36, 0x26, 0xf7, 0x6f, 0xc2, 0xec, 0x7b, 0x26, 0x4e, 0x33, 0xd7, 0xa9, 0xff, 0xb0, 0x65, 0x27, 0xff, 0xc3, 0x96, 0x9b, 0xfe, 0x0f, 0x5b, 0x6e, 0x01, 0x3f, 0x6c, 0x11, 0x0c, 0x25, 0x2d, 0x22, 0x34, 0x88, 0x7f, 0xea, 0xa1, 0x6f, 0xf3, 0x57, 0xdd, 0x47, 0xbd, 0x6f, 0x7a, 0x9f, 0xdc, 0xda, 0xde, 0xb4, 0x69, 0x7e, 0x6c, 0x08, 0x75, 0x31, 0xdd, 0x3d, 0x34, 0xec, 0xba, 0xb5, 0x4d, 0x6e, 0x5b, 0xc8, 0x38, 0x0b, 0x3a, 0x78, 0x7b, 0x0f, 0xd0, 0x8e, 0xbb, 0xe6, 0x54, 0x5e, 0xd3, 0x05, 0x8b, 0x62, 0xa9, 0xe7, 0xa0, 0xbd, 0x9f, 0x03, 0x79, 0x64, 0x5f, 0x0f, 0xe4, 0xcf, 0x7f, 0x33, 0x5f, 0x80, 0xfe, 0x8f, 0x31, 0xe4, 0x56, 0x03, 0xc0, 0x46, 0xf2, 0xf2, 0x90, 0x30, 0x5d, 0x70, 0xd4, 0x92, 0xc5, 0xdf, 0x9c, 0x2b, 0x8d, 0x98, 0x24, 0x82, 0x5c, 0xfa, 0x65, 0x8e, 0x56, 0x65, 0x66, 0x55, 0x0b, 0xb6, 0x50, 0xf7, 0x48, 0x2a, 0x20, 0xf7, 0x15, 0x1d, 0xc4, 0x6a, 0x98, 0xe8, 0x62, 0xbc, 0x4a, 0x1f, 0x36, 0xde, 0x87, 0x7e, 0x92, 0x26, 0x45, 0x7c, 0x51, 0x56, 0xf5, 0x17, 0x5b, 0x15, 0x75, 0x7e, 0x4d, 0x2e, 0x2b, 0xa3, 0xc1, 0xfe, 0x91, 0x48, 0x6b, 0x6d, 0x0e, 0xcb, 0xdd, 0xd3, 0xdb, 0xe1, 0xf2, 0xce, 0xcc, 0x7b, 0xfb, 0x27, 0x51, 0x86, 0xc7, 0xd2, 0x66, 0x88, 0xd2, 0x1b, 0xe6, 0xb8, 0x4c, 0xba, 0x79, 0x0a, 0x7c, 0x75, 0xbd, 0x4b, 0x29, 0xbf, 0xff, 0x22, 0x06, 0x73, 0x17, 0x2c, 0xc4, 0xe3, 0xbc, 0x30, 0xd5, 0xbe, 0x38, 0xfb, 0xe6, 0x8f, 0x3a, 0xc0, 0x0f, 0x5b, 0xdf, 0x0f, 0xf9, 0xa7, 0xa8, 0x17, 0x7e, 0x9e, 0x9c, 0x7d, 0x43, 0xd4, 0xfd, 0xd3, 0x18, 0xd8, 0xa6, 0x0f, 0x7c, 0xc9, 0x7f, 0x01, 0x65, 0x6f, 0x1a, 0xf6, 0xc2, 0xe5, 0x49, 0x7c, 0x41, 0x0d, 0x8c, 0x51, 0x67, 0x04, 0x2b, 0x7c, 0xb5, 0xa2, 0xca, 0x21, 0xad, 0x8f, 0x6d, 0xb8, 0x3e, 0x16, 0x51, 0xa3, 0x74, 0x52, 0x72, 0x8a, 0x74, 0x13, 0x62, 0x63, 0x03, 0x9b, 0x17, 0x67, 0x2b, 0xbe, 0xab, 0x15, 0x1c, 0x17, 0x50, 0x87, 0xdb, 0x69, 0x06, 0xed, 0x5a, 0xc6, 0x41, 0x72, 0x1c, 0x69, 0x82, 0xe0, 0xc0, 0x8d, 0xf8, 0x6f, 0xd0, 0xcb, 0x6c, 0x6f, 0x6e, 0x6a, 0xa8, 0x96, 0x56, 0x99, 0x76, 0xc8, 0x91, 0x9e, 0x7e, 0x08, 0x30, 0x19, 0x82, 0x89, 0x84, 0x02, 0x24, 0x3a, 0x29, 0x89, 0xe8, 0xf3, 0x72, 0x21, 0x5d, 0xdc, 0x6b, 0x43, 0xf5, 0x7c, 0xc0, 0xb6, 0x8d, 0x9e, 0xd1, 0x38, 0x68, 0x2b, 0x24, 0x52, 0x21, 0x9f, 0x8d, 0xa8, 0x1c, 0x12, 0x4d, 0x64, 0x6f, 0x9c, 0x34, 0x6d, 0x03, 0x60, 0x18, 0x13, 0xfe, 0x1f, 0xc9, 0xe8, 0x9f, 0x64, 0x70, 0x3e, 0xd9, 0xaa, 0xcc, 0xa1, 0x38, 0x87, 0x23, 0x1e, 0x9c, 0xc4, 0xde, 0x1b, 0xbd, 0x38, 0x9c, 0x06, 0xa1, 0xa5, 0x9a, 0x94, 0x27, 0xf6, 0x35, 0xa9, 0x84, 0x92, 0xc8, 0xae, 0x9d, 0x6d, 0x48, 0xbc, 0xc4, 0x17, 0x8b, 0x3b, 0xac, 0x6a, 0x44, 0x78, 0xdb, 0x92, 0xdf, 0x89, 0x2f, 0x59, 0x1f, 0x4b, 0x45, 0xdf, 0x92, 0xc3, 0x1a, 0x05, 0x2f, 0x7c, 0x2f, 0x49, 0x41, 0xc3, 0x83, 0xe7, 0x5e, 0x97, 0x22, 0xfe, 0x59, 0x7c, 0x78, 0x1f, 0x04, 0x46, 0x03, 0xc4, 0xb5, 0x6c, 0xff, 0x86, 0xf1, 0x0f, 0xed, 0xf8, 0x9f, 0x45, 0x70, 0x57, 0x18, 0x19, 0x25, 0xfe, 0xd9, 0x0b, 0x97, 0x04, 0xa8, 0x5e, 0x54, 0xeb, 0xc9, 0x68, 0xf9, 0x10, 0x14, 0xf2, 0x99, 0x31, 0x59, 0x38, 0xdc, 0x10, 0x36, 0x79, 0x60, 0xb8, 0x4a, 0x98, 0x81, 0x58, 0x87, 0xd9, 0xc6, 0xae, 0x89, 0xc8, 0xa2, 0x5e, 0x08, 0xab, 0x5c, 0x12, 0x04, 0xeb, 0xec, 0xb9, 0xeb, 0x79, 0xc9, 0x20, 0x12, 0xb9, 0x9f, 0x5f, 0xef, 0xea, 0x68, 0x83, 0xb2, 0xc6, 0x16, 0xc0, 0x71, 0xf0, 0x29, 0xc3, 0x8a, 0x19, 0x7a, 0xc9, 0x6b, 0xc8, 0xb8, 0xbd, 0xb3, 0x2d, 0x4e, 0x15, 0xfa, 0x10, 0xb5, 0x8a, 0x44, 0x22, 0x14, 0x8a, 0xb1, 0x53, 0x60, 0x66, 0x88, 0x2f, 0x67, 0x18, 0xd1, 0x3a, 0x9e, 0x83, 0xb5, 0xdb, 0x3b, 0xc1, 0x40, 0x41, 0xc0, 0x09, 0x52, 0xbb, 0x99, 0x41, 0xbd, 0x5a, 0xe0, 0x40, 0xa1, 0x91, 0xec, 0x6d, 0xb1, 0x0c, 0xc6, 0xb6, 0xa9, 0xcb, 0x56, 0x4c, 0x93, 0xed, 0x2f, 0x76, 0xb7, 0xed, 0xd2, 0xfa, 0xcd, 0xa2, 0xa0, 0xe3, 0xa3, 0x06, 0x21, 0x6d, 0x1f, 0x58, 0x78, 0x96, 0x96, 0x94, 0xfb, 0x90, 0x0d, 0x71, 0xa0, 0x51, 0x04, 0xbd, 0xba, 0x11, 0x6f, 0x27, 0x12, 0xcb, 0x71, 0x3b, 0x19, 0xeb, 0x85, 0x49, 0x3c, 0x5d, 0x34, 0x94, 0xaa, 0x8f, 0x62, 0x0a, 0x46, 0xfb, 0xab, 0x9f, 0x7b, 0xfa, 0x78, 0xe4, 0x7a, 0x52, 0x20, 0x07, 0x4d, 0x14, 0xc4, 0x25, 0xe2, 0x79, 0x34, 0x36, 0xa9, 0xde, 0xdb, 0x5f, 0xec, 0xb0, 0xc0, 0x72, 0xfe, 0x34, 0xef, 0xdb, 0xdb, 0xc9, 0x0f, 0xf1, 0xba, 0xd6, 0x84, 0xdf, 0xf5, 0x2c, 0x04, 0x21, 0xdb, 0xfb, 0xde, 0x48, 0x5e, 0x4c, 0xca, 0xd9, 0xdd, 0x9f, 0x10, 0x76, 0x92, 0x57, 0x5e, 0xec, 0xe1, 0x47, 0x1d, 0x95, 0xb9, 0x6f, 0x20, 0x8c, 0x62, 0x8e, 0x0a, 0x7f, 0x7e, 0x49, 0x8f, 0xab, 0xc5, 0xb0, 0x9d, 0x8c, 0x46, 0x86, 0x09, 0xd5, 0x4b, 0xb4, 0xe3, 0xda, 0x20, 0x58, 0x18, 0xef, 0x0e, 0x22, 0x96, 0x94, 0x14, 0x81, 0x2c, 0x81, 0x67, 0x47, 0xad, 0x6c, 0x76, 0x42, 0xf2, 0xaf, 0xaa, 0x2f, 0x46, 0xc9, 0x4b, 0x9b, 0x25, 0x93, 0x45, 0x30, 0xb2, 0xe9, 0x1a, 0xb3, 0xec, 0xf0, 0x4a, 0xc2, 0x3f, 0x9f, 0xe4, 0xe2, 0x66, 0x9f, 0x95, 0x2d, 0xdc, 0x4d, 0xc6, 0x74, 0x30, 0xc2, 0x3d, 0x8e, 0x94, 0x36, 0x2d, 0x2b, 0x8e, 0x11, 0xb1, 0x3b, 0xdd, 0xda, 0x2f, 0x32, 0xb5, 0xe1, 0xb1, 0x00, 0x73, 0x29, 0x1b, 0x1d, 0x24, 0x4f, 0xed, 0x97, 0x22, 0x58, 0xf5, 0x6c, 0xf1, 0xd7, 0xc9, 0xe7, 0x43, 0x7a, 0xca, 0xeb, 0x16, 0x2b, 0x74, 0xdf, 0xce, 0xe0, 0x18, 0x88, 0x52, 0x38, 0x44, 0x62, 0x52, 0xa4, 0x20, 0x07, 0x92, 0x60, 0x92, 0xd6, 0xd9, 0x93, 0x47, 0xaa, 0x5e, 0xf2, 0x2e, 0xd5, 0xea, 0xbf, 0x6d, 0x39, 0x61, 0x59, 0x0e, 0x79, 0x0b, 0xea, 0x5e, 0x04, 0x14, 0x16, 0x93, 0x72, 0x46, 0xcd, 0xbf, 0x38, 0x07, 0x97, 0xa4, 0xa9, 0x51, 0x24, 0x2f, 0x1b, 0x54, 0x14, 0x3d, 0x7d, 0xe2, 0x4d, 0xfa, 0x1e, 0x77, 0x45, 0x87, 0x93, 0xca, 0x0a, 0xbb, 0x2b, 0x52, 0x7b, 0xdd, 0x7c, 0x37, 0xb8, 0x97, 0xe4, 0xeb, 0x60, 0xe0, 0x31, 0x59, 0xa3, 0x75, 0x30, 0xde, 0x77, 0x8d, 0xfc, 0x4b, 0xf0, 0x47, 0x25, 0x9c, 0xee, 0xa7, 0x37, 0x12, 0xb5, 0x67, 0x22, 0xe9, 0xfb, 0x3c, 0x09, 0x26, 0xec, 0xfb, 0xe9, 0x9a, 0x82, 0x08, 0xf3, 0x75, 0x05, 0xe9, 0x23, 0x8f, 0xb1, 0x92, 0xa0, 0x75, 0x4a, 0xa2, 0xa7, 0xbf, 0x7d, 0xf9, 0xee, 0xc3, 0xcb, 0xd3, 0x87, 0x77, 0x05, 0x6a, 0x35, 0x9a, 0xbb, 0x27, 0x07, 0xd6, 0x07, 0x33, 0xe8, 0x40, 0xfd, 0xc4, 0xa1, 0x0c, 0x82, 0xa8, 0x03, 0x41, 0x1b, 0x74, 0xb3, 0xf5, 0xa8, 0x68, 0x8c, 0xe8, 0x8a, 0x92, 0x44, 0xe2, 0x10, 0x40, 0x9c, 0xe7, 0x2b, 0x21, 0x72, 0x2f, 0x73, 0x33, 0xad, 0xa5, 0x27, 0xe3, 0x96, 0xbe, 0x4f, 0xaf, 0x6f, 0x49, 0xf2, 0xb8, 0xad, 0x13, 0x8f, 0x51, 0xb9, 0xad, 0x6d, 0xb7, 0xa9, 0x57, 0xda, 0xd4, 0x5a, 0x04, 0x5a, 0xcb, 0xfb, 0x56, 0xce, 0xe7, 0x2e, 0x7b, 0xb6, 0x1b, 0xe1, 0x7b, 0xf5, 0xaa, 0xbf, 0xe4, 0xf6, 0xd7, 0x44, 0x4b, 0xed, 0x64, 0xa4, 0x63, 0x1b, 0x1d, 0x77, 0x1f, 0x36, 0x25, 0x57, 0xa3, 0xbf, 0x90, 0xb9, 0xc5, 0x77, 0xd5, 0x4c, 0xd0, 0x47, 0x0e, 0x50, 0x15, 0x17, 0xed, 0x66, 0xc7, 0xc7, 0xef, 0xb1, 0x59, 0xe7, 0x2f, 0xc7, 0x63, 0x2b, 0x0b, 0x6b, 0x49, 0x4b, 0x18, 0x04, 0xc6, 0x18, 0xd4, 0x48, 0xbf, 0xed, 0xc9, 0x28, 0xb1, 0x9d, 0x62, 0x25, 0x9d, 0x13, 0xb1, 0x1f, 0x63, 0xf3, 0x5d, 0xac, 0x97, 0xe6, 0xc2, 0x18, 0x8d, 0x77, 0xb6, 0x5d, 0x4b, 0x28, 0xb6, 0x4b, 0x78, 0xc4, 0xb9, 0x44, 0x93, 0xc2, 0x59, 0x13, 0xed, 0xd1, 0xd9, 0x8f, 0x35, 0x86, 0x44, 0x5c, 0x9e, 0x83, 0xd7, 0x3e, 0xc4, 0xed, 0x20, 0xee, 0x4c, 0xdf, 0x1a, 0x9f, 0x5c, 0x1c, 0x9b, 0xed, 0xfb, 0x70, 0xf1, 0xf5, 0x96, 0xa4, 0x2e, 0x74, 0x51, 0x30, 0xe0, 0xb4, 0xa7, 0x16, 0xaf, 0xd7, 0xb6, 0x5a, 0xb6, 0x62, 0x47, 0x8a, 0xb1, 0x16, 0x62, 0x1a, 0xb8, 0xfb, 0xe8, 0x68, 0xc3, 0x29, 0x3d, 0x1e, 0x3d, 0xee, 0x9e, 0x52, 0x3f, 0x5c, 0x35, 0x03, 0x18, 0x07, 0xe4, 0x2e, 0xa8, 0xc8, 0x94, 0x3d, 0xb5, 0xe7, 0x9a, 0xa7, 0x20, 0xc8, 0x06, 0x74, 0x9d, 0x94, 0x4b, 0xe1, 0x03, 0xf4, 0x3c, 0x85, 0x12, 0xf4, 0xe2, 0xe2, 0xc0, 0x6e, 0xb6, 0x70, 0x43, 0xe2, 0xed, 0xe5, 0x70, 0xa8, 0x39, 0xb1, 0xb4, 0x9a, 0xd9, 0xb2, 0xd0, 0x50, 0x3f, 0xd4, 0x5c, 0x3f, 0x6a, 0xc9, 0x64, 0x48, 0x40, 0x5b, 0xb2, 0xb4, 0xaa, 0x75, 0xc3, 0xde, 0x0a, 0x2e, 0x9f, 0x2f, 0x0e, 0xa6, 0x0d, 0x2f, 0x3a, 0xba, 0xb4, 0x58, 0x54, 0xe8, 0x8d, 0xd9, 0x8f, 0x71, 0xfc, 0x67, 0xda, 0x57, 0xc9, 0x17, 0x79, 0xc1, 0x7f, 0xc6, 0xe9, 0x1d, 0x22, 0xb7, 0x2a, 0x17, 0xec, 0x40, 0x94, 0x37, 0x38, 0x89, 0x93, 0x8b, 0x5d, 0xa4, 0x0e, 0xa3, 0x42, 0xc2, 0xa1, 0x84, 0x68, 0xd0, 0xd4, 0x3c, 0x6c, 0xbb, 0xb5, 0x33, 0xde, 0xb5, 0x9e, 0xd6, 0x0b, 0x44, 0x14, 0x31, 0x5a, 0xa4, 0x8a, 0xc9, 0x43, 0x56, 0x14, 0xf5, 0x32, 0x86, 0xee, 0xe3, 0xdd, 0xde, 0xd0, 0x62, 0x02, 0xa3, 0x9e, 0xde, 0xcc, 0x7a, 0xb0, 0xea, 0xe0, 0xd6, 0x42, 0x12, 0x19, 0x6c, 0x40, 0xae, 0x99, 0x7a, 0xf5, 0xdd, 0x6b, 0xaf, 0xd9, 0x8e, 0xe6, 0xa9, 0x31, 0xbd, 0x88, 0x42, 0xda, 0x87, 0x06, 0x97, 0xb9, 0x64, 0xcb, 0x11, 0x82, 0xaa, 0xb3, 0x2c, 0x5b, 0x59, 0x68, 0xf3, 0x1c, 0x35, 0x36, 0x79, 0x8d, 0x20, 0xaa, 0xc0, 0xca, 0xa3, 0x9d, 0x5c, 0xcf, 0xec, 0x84, 0x75, 0x68, 0x8b, 0x48, 0xd8, 0x3b, 0xd4, 0x3c, 0x8c, 0xc2, 0xb8, 0x07, 0x4f, 0x8f, 0x3e, 0x37, 0xb2, 0xf9, 0x0e, 0x58, 0xe3, 0x6e, 0xcb, 0x18, 0x0b, 0xb8, 0x1f, 0xe7, 0x4f, 0x8c, 0x1a, 0x4d, 0xef, 0x15, 0x38, 0x85, 0xa4, 0x26, 0x33, 0x02, 0x0e, 0x2a, 0x29, 0x6e, 0x0e, 0xb1, 0x68, 0xcc, 0x26, 0xca, 0x86, 0x49, 0xd2, 0x1d, 0xf6, 0x89, 0x13, 0xc4, 0x46, 0x1e, 0x01, 0x53, 0x83, 0x12, 0xea, 0xa4, 0x66, 0x58, 0xca, 0xfb, 0xe3, 0x8b, 0xf7, 0xe6, 0x8f, 0xf1, 0xc5, 0xd9, 0xfb, 0x1e, 0x64, 0xc6, 0x86, 0x61, 0x3a, 0x68, 0xd3, 0x34, 0x5d, 0x05, 0xdb, 0xdc, 0x46, 0x6d, 0x43, 0x26, 0x34, 0xb3, 0x9d, 0x3a, 0x0a, 0xf4, 0xe5, 0xe1, 0x7d, 0xd5, 0xa3, 0xd6, 0x42, 0xe7, 0x46, 0x3e, 0x6c, 0x5c, 0x18, 0x9f, 0xf9, 0x66, 0x0a, 0xc1, 0x82, 0x89, 0x18, 0x69, 0xc5, 0x96, 0xd1, 0x63, 0xb6, 0xc6, 0x68, 0x23, 0xe7, 0xbf, 0x83, 0xb1, 0xd7, 0xf6, 0xd4, 0x3d, 0x68, 0x86, 0x9c, 0x9a, 0xcb, 0xcd, 0x59, 0x5c, 0xb7, 0x76, 0xc3, 0x69, 0x15, 0x0a, 0x60, 0x2b, 0xd9, 0x81, 0x03, 0x59, 0xf4, 0x92, 0x7b, 0xe8, 0xd7, 0xe8, 0x42, 0xbb, 0x6e, 0xc1, 0x75, 0xb9, 0xcc, 0xd8, 0xc3, 0xcf, 0xc9, 0xb9, 0xca, 0x9c, 0x58, 0xb6, 0x30, 0x2e, 0x6d, 0x12, 0xc3, 0xc3, 0xb0, 0x10, 0x62, 0x74, 0xca, 0xdb, 0x16, 0x51, 0xa0, 0x14, 0xea, 0xe0, 0x73, 0xc9, 0x8c, 0xa5, 0xda, 0x00, 0x9b, 0x6d, 0x5b, 0x67, 0xe5, 0x61, 0x8b, 0xb5, 0x99, 0xf7, 0x41, 0x97, 0xc9, 0x10, 0x28, 0x43, 0x9c, 0xb3, 0xa0, 0x8f, 0x9e, 0x16, 0xd7, 0x23, 0xd1, 0x4a, 0x73, 0x6c, 0xa0, 0x4b, 0xf8, 0xfd, 0x43, 0xcf, 0xe5, 0xa9, 0x68, 0x58, 0x0d, 0xd5, 0x8b, 0x04, 0xe6, 0x61, 0x69, 0x5b, 0x8e, 0x9c, 0x43, 0x34, 0xeb, 0x2e, 0xd3, 0x6d, 0xe9, 0x73, 0x21, 0x9b, 0x55, 0xa5, 0x2d, 0x71, 0x1d, 0x99, 0x02, 0x34, 0x8a, 0xde, 0xb6, 0x5f, 0x7d, 0x28, 0xd1, 0x5d, 0x0d, 0x06, 0xe9, 0x56, 0xce, 0xc9, 0x80, 0x1e, 0xd9, 0x51, 0x04, 0x9d, 0xe4, 0x43, 0x21, 0xc8, 0x31, 0x85, 0xb1, 0x2d, 0x90, 0xff, 0x30, 0xb3, 0x9b, 0x46, 0x80, 0x4a, 0x94, 0xb6, 0xc5, 0x42, 0x6b, 0x56, 0xb2, 0x42, 0x0f, 0x4c, 0xe7, 0x10, 0x22, 0x0c, 0x3e, 0x64, 0x64, 0x13, 0xa8, 0xa4, 0x91, 0xf1, 0x9c, 0x5d, 0x32, 0x6d, 0xba, 0x2b, 0x05, 0xca, 0x43, 0xb0, 0xd0, 0x73, 0xff, 0xd0, 0x98, 0xa5, 0xc1, 0xfa, 0x71, 0xbc, 0xa0, 0x61, 0xb0, 0x05, 0x46, 0x54, 0x50, 0xaf, 0x80, 0xc0, 0x5a, 0x14, 0xd1, 0xd2, 0x2c, 0x86, 0xb4, 0x58, 0x17, 0x0b, 0xca, 0x11, 0x6f, 0x43, 0x45, 0xa8, 0x1a, 0x38, 0xda, 0x50, 0xc5, 0xea, 0x23, 0x4b, 0xb4, 0x48, 0xb2, 0x5d, 0xaf, 0xdf, 0x5e, 0x5d, 0x6f, 0xe5, 0x2f, 0x08, 0xf4, 0x3d, 0x1d, 0x99, 0x22, 0x52, 0x2a, 0x6d, 0xe5, 0x45, 0x4e, 0x48, 0x42, 0x65, 0xb5, 0x47, 0x55, 0x2a, 0x84, 0xd9, 0x67, 0xac, 0xca, 0x72, 0x81, 0xd6, 0x3e, 0xaa, 0xba, 0xc5, 0x1a, 0x32, 0x43, 0x05, 0x63, 0x0c, 0x1e, 0x33, 0x78, 0xbb, 0x72, 0xdf, 0x6b, 0x56, 0x47, 0xd2, 0xd4, 0x83, 0x8d, 0x18, 0xc5, 0xda, 0xc1, 0x71, 0x46, 0x08, 0x32, 0x1e, 0xdb, 0xea, 0x98, 0xb6, 0x26, 0xd5, 0xe6, 0x22, 0x38, 0x57, 0xa8, 0x7c, 0xc8, 0xbf, 0xef, 0xa9, 0xe5, 0xd3, 0xc6, 0x2e, 0x00, 0x87, 0x32, 0xbb, 0x32, 0xe0, 0xec, 0x90, 0xf6, 0xcd, 0x84, 0xe5, 0xd0, 0xfe, 0x5a, 0x9d, 0x35, 0xeb, 0x55, 0x28, 0xe7, 0x5d, 0xf5, 0xa9, 0x1d, 0x51, 0x83, 0xa2, 0xde, 0x14, 0x09, 0x55, 0xc1, 0x6d, 0xbf, 0x8f, 0xce, 0xdf, 0xbd, 0x8d, 0xd0, 0x04, 0x02, 0xe9, 0xde, 0x87, 0x04, 0xa0, 0xe2, 0x85, 0x1a, 0x04, 0x27, 0x5b, 0x46, 0xbf, 0xd8, 0xdf, 0x62, 0xa0, 0x05, 0x29, 0xdb, 0xe2, 0x28, 0xbb, 0x7d, 0xdb, 0xec, 0x8b, 0x37, 0xdf, 0xf0, 0xce, 0x68, 0x3d, 0x8a, 0x94, 0x2c, 0xd2, 0xe9, 0xec, 0x50, 0x2f, 0x7a, 0xdc, 0xdf, 0xdd, 0xcf, 0x7a, 0x97, 0xbe, 0x61, 0x56, 0x5b, 0x07, 0xcf, 0x0e, 0x47, 0x07, 0x4f, 0x3e, 0x1f, 0x1d, 0xa0, 0x93, 0xad, 0x37, 0x37, 0xd7, 0x71, 0xd5, 0x1b, 0x28, 0xd2, 0xcf, 0x37, 0xe9, 0x47, 0xf4, 0xe5, 0x2f, 0x2c, 0xef, 0x46, 0xf4, 0xdc, 0x88, 0xbb, 0xea, 0x04, 0xdf, 0x58, 0x1a, 0x9d, 0x26, 0x2f, 0x82, 0x38, 0xc8, 0xd0, 0x65, 0x15, 0x31, 0x2d, 0xae, 0x72, 0x22, 0x23, 0x45, 0xd9, 0xf4, 0xf6, 0x49, 0x1b, 0x02, 0xda, 0x06, 0x27, 0xb8, 0x9d, 0xf1, 0x19, 0x29, 0x4b, 0x9f, 0x8a, 0x1a, 0xe9, 0xb8, 0xba, 0xfd, 0x7e, 0xc0, 0x36, 0x7f, 0xb2, 0xd5, 0x47, 0x10, 0x2e, 0xf6, 0xd2, 0x75, 0x61, 0xba, 0x00, 0xf1, 0xd4, 0x45, 0x09, 0x12, 0xd0, 0x17, 0x7e, 0x50, 0x35, 0x6e, 0x1b, 0x10, 0xf7, 0x85, 0x0c, 0xc0, 0x8f, 0x5c, 0x25, 0x8e, 0x5f, 0x49, 0x8c, 0x91, 0x6d, 0x9d, 0x68, 0x07, 0xce, 0xc9, 0xc2, 0x2c, 0x31, 0x93, 0xd6, 0xe1, 0xe8, 0x9d, 0x3f, 0xfc, 0xc1, 0x71, 0x24, 0x6e, 0xab, 0x8e, 0x5e, 0x1e, 0x8f, 0x01, 0xd5, 0xca, 0xb1, 0x6a, 0xee, 0x0a, 0xb0, 0xf5, 0xfc, 0xaf, 0x70, 0x0e, 0xff, 0x38, 0xfc, 0xab, 0xf9, 0xe7, 0x8f, 0x5b, 0x7a, 0xa9, 0x19, 0x96, 0xcb, 0x15, 0x8c, 0x38, 0xf8, 0x43, 0x1c, 0xd0, 0x20, 0x69, 0xb7, 0xa5, 0x85, 0x66, 0x70, 0xf1, 0xea, 0x9c, 0x2f, 0x63, 0xc5, 0x61, 0x6f, 0x50, 0x33, 0xf1, 0x21, 0xa8, 0xf5, 0xc4, 0xc2, 0xd1, 0x51, 0x83, 0xe9, 0xc4, 0xee, 0xa5, 0xf7, 0xca, 0xc0, 0x25, 0x35, 0xdc, 0x30, 0x07, 0x48, 0x8d, 0x7e, 0x7b, 0x49, 0xfe, 0x15, 0x2e, 0x49, 0x37, 0x7c, 0x57, 0x15, 0x69, 0xe9, 0x18, 0x4c, 0xc0, 0x5e, 0x86, 0x0d, 0xd8, 0xeb, 0x70, 0x63, 0xa6, 0x34, 0x48, 0x04, 0xfe, 0x96, 0x6b, 0x23, 0x1a, 0xc1, 0x52, 0x34, 0xdb, 0x60, 0x36, 0x4a, 0xb9, 0x6d, 0x95, 0xd7, 0x9f, 0x68, 0x7d, 0x52, 0xe6, 0xe3, 0xe5, 0x0a, 0xd1, 0x7c, 0x3e, 0xb3, 0x5a, 0xdf, 0x9d, 0x42, 0xd6, 0xd8, 0xc2, 0x3d, 0x6f, 0x67, 0x9d, 0x74, 0xd0, 0x63, 0x57, 0x20, 0xca, 0x28, 0xec, 0x96, 0x3c, 0x56, 0x65, 0x0f, 0x40, 0x83, 0x93, 0x54, 0x98, 0x73, 0xa3, 0xe7, 0x5a, 0xd2, 0xf0, 0xa0, 0x99, 0xa8, 0xa4, 0x9d, 0x88, 0x85, 0xa4, 0xdf, 0x6e, 0x57, 0x6a, 0x51, 0x87, 0x1a, 0x72, 0x14, 0x33, 0x3c, 0x94, 0xc5, 0x37, 0x43, 0xcf, 0x2c, 0x2a, 0x9f, 0xa8, 0xcc, 0x34, 0x66, 0x03, 0xad, 0xcd, 0xe7, 0x9b, 0x41, 0x41, 0x5e, 0xd5, 0xe9, 0x3e, 0x8b, 0xda, 0x0a, 0xb8, 0x68, 0x4e, 0x19, 0x5d, 0xb0, 0x4f, 0x9d, 0x36, 0x1f, 0xbb, 0x4e, 0x7f, 0x1a, 0x6e, 0xad, 0x1d, 0xd5, 0x6e, 0x0a, 0xb4, 0x47, 0x4e, 0x42, 0x83, 0x06, 0xd3, 0x5f, 0xc6, 0x20, 0x7a, 0x3d, 0xa1, 0x7a, 0xb8, 0x1f, 0xba, 0x52, 0xa8, 0xe9, 0x33, 0x36, 0x79, 0x98, 0xaf, 0xee, 0xdf, 0x40, 0x85, 0xf9, 0xa2, 0x23, 0x6d, 0x71, 0x16, 0x2b, 0x61, 0xea, 0xf5, 0xe5, 0x25, 0x30, 0x31, 0xc2, 0xcc, 0x3c, 0x54, 0x2c, 0x4a, 0xe1, 0x80, 0xf4, 0x33, 0x30, 0x8c, 0x1c, 0x33, 0xd7, 0xdd, 0x70, 0x65, 0x91, 0xc2, 0x70, 0x6a, 0xd7, 0x99, 0xa4, 0xb7, 0x74, 0x96, 0x7a, 0xd9, 0xc9, 0xf5, 0x76, 0x9a, 0x4c, 0x95, 0x0d, 0x75, 0xa2, 0x5d, 0x3e, 0x48, 0xa9, 0x41, 0x41, 0x06, 0x2c, 0x73, 0x44, 0xf8, 0x1a, 0xfa, 0x79, 0xdf, 0x46, 0x77, 0x23, 0x79, 0xd8, 0xa8, 0x3f, 0x0e, 0xc3, 0xf1, 0xe4, 0x73, 0x01, 0xf1, 0x63, 0x14, 0xb6, 0xca, 0xa2, 0x5a, 0xb1, 0x5e, 0x29, 0xfc, 0xa8, 0x2b, 0x35, 0xe7, 0xd8, 0x8e, 0x4d, 0x7e, 0x01, 0xc7, 0x0a, 0x7d, 0x6d, 0xe9, 0xd1, 0xe8, 0x30, 0x38, 0xd8, 0x7a, 0x31, 0x9c, 0x4e, 0xa7, 0x43, 0xe8, 0x01, 0x2f, 0x58, 0x39, 0xd9, 0x13, 0xe5, 0xa0, 0xc7, 0x67, 0x30, 0xce, 0x64, 0xbf, 0x5f, 0xbd, 0x7a, 0x25, 0x7a, 0xcc, 0xc5, 0x55, 0x47, 0xa3, 0xb0, 0x80, 0x53, 0xa2, 0x51, 0xc5, 0xda, 0x1c, 0xd6, 0x57, 0xeb, 0x66, 0x86, 0x6e, 0xc8, 0xc4, 0x32, 0x94, 0xf5, 0xda, 0x1a, 0xd9, 0x0e, 0x2a, 0x28, 0x35, 0xa5, 0x1f, 0xb8, 0xcc, 0x44, 0x33, 0x76, 0x70, 0x34, 0x2b, 0x6e, 0x80, 0x82, 0x17, 0x65, 0xec, 0x6e, 0x8b, 0x55, 0x9e, 0xaa, 0x0f, 0xdd, 0xa5, 0x13, 0xac, 0x63, 0x99, 0x6c, 0x3a, 0x0a, 0x3e, 0x9b, 0xe6, 0x92, 0x01, 0x96, 0xca, 0xb7, 0xba, 0x63, 0xdf, 0x73, 0x1e, 0xb2, 0xd5, 0xed, 0x23, 0x79, 0xd2, 0x7b, 0x24, 0xd1, 0xcd, 0x27, 0xab, 0x8a, 0xb6, 0x7d, 0xe7, 0x15, 0x10, 0x45, 0x5f, 0xc9, 0x85, 0x78, 0x75, 0x45, 0xf9, 0x5b, 0x0b, 0x3a, 0x1c, 0x33, 0xe5, 0x9a, 0x99, 0x80, 0xc8, 0x8f, 0xf1, 0xf8, 0x74, 0xef, 0xe2, 0x74, 0x1c, 0x64, 0xbc, 0xdf, 0x91, 0xcb, 0x98, 0x9b, 0x68, 0xb7, 0x5c, 0x9e, 0xbc, 0x45, 0x00, 0x87, 0x2e, 0xe7, 0x6d, 0x0a, 0xe7, 0xaf, 0x44, 0xf1, 0x4e, 0xd6, 0x85, 0x16, 0xc3, 0x58, 0xd9, 0x5d, 0x64, 0x05, 0x8a, 0xc8, 0x49, 0x84, 0xe3, 0x06, 0x20, 0x21, 0xb6, 0x4e, 0xde, 0xbd, 0xbc, 0xa0, 0xf2, 0x96, 0x46, 0x52, 0x3c, 0xc8, 0x05, 0x14, 0x7a, 0xc6, 0x6f, 0x2c, 0x2e, 0x01, 0xa2, 0x36, 0xe9, 0xd4, 0x35, 0x43, 0x51, 0x65, 0x9d, 0x8f, 0xaf, 0x56, 0xc2, 0xdb, 0xb4, 0xfd, 0x66, 0x4b, 0x45, 0x3a, 0x74, 0x69, 0xbe, 0x7b, 0x1a, 0x07, 0xd1, 0xd3, 0xe0, 0x0d, 0x88, 0x5f, 0x87, 0xf7, 0xc2, 0xca, 0x75, 0xa3, 0xa5, 0x8a, 0x5f, 0xa7, 0xbf, 0x28, 0x2f, 0x73, 0xf2, 0x04, 0xe2, 0xbc, 0xfc, 0xc0, 0x5b, 0xe0, 0x26, 0xe5, 0xdd, 0xa9, 0xb9, 0x14, 0xa7, 0x0d, 0x60, 0xcb, 0x57, 0x84, 0xe4, 0x84, 0xdd, 0x53, 0xdb, 0x87, 0x49, 0x4b, 0x20, 0xc3, 0x0a, 0x43, 0x60, 0xe7, 0xe5, 0x53, 0x63, 0x22, 0x4c, 0x29, 0xfb, 0x03, 0xe5, 0x80, 0x75, 0x3b, 0xc5, 0x36, 0x6f, 0xc1, 0xf2, 0xa9, 0x87, 0xb4, 0x0e, 0x63, 0x15, 0xd0, 0x14, 0x64, 0x85, 0x1b, 0xfd, 0xf0, 0x4f, 0x5a, 0xc2, 0xe3, 0x2b, 0xb2, 0xc8, 0x2e, 0x03, 0xa1, 0x6b, 0x51, 0x28, 0x22, 0xc8, 0x7f, 0x50, 0x51, 0x51, 0xde, 0x2f, 0xbd, 0x8d, 0x7d, 0x48, 0xf7, 0x4d, 0xe8, 0xdd, 0x83, 0x6e, 0x3b, 0x33, 0x46, 0x25, 0x6c, 0x83, 0x55, 0xb7, 0xa0, 0x81, 0x34, 0xd1, 0xb7, 0x33, 0xdc, 0x57, 0xc7, 0xae, 0x7d, 0x42, 0x07, 0x3f, 0xa8, 0xd5, 0x5a, 0x81, 0xe3, 0x90, 0x14, 0x83, 0xba, 0xa1, 0x2e, 0xac, 0x37, 0x3d, 0x46, 0x0e, 0x2b, 0xb1, 0x17, 0x0e, 0x8d, 0x9d, 0xef, 0x07, 0x6b, 0x81, 0x99, 0xcd, 0x52, 0x25, 0xe8, 0x19, 0x0d, 0xd0, 0xff, 0xfb, 0xb6, 0xeb, 0x0e, 0x34, 0x8a, 0xf8, 0x21, 0x54, 0x3a, 0x84, 0x00, 0xc2, 0x2e, 0xf4, 0x34, 0x70, 0x13, 0x76, 0xdf, 0x0d, 0xdb, 0x7b, 0xf0, 0xf2, 0x36, 0xcf, 0xe7, 0xeb, 0xe3, 0x97, 0xaf, 0x2d, 0x8c, 0xc0, 0x6f, 0x81, 0x2c, 0xec, 0xbc, 0x9a, 0x93, 0x8c, 0xbb, 0x40, 0xac, 0xd5, 0x51, 0x82, 0xd3, 0x51, 0x42, 0x05, 0xad, 0x18, 0x75, 0xad, 0xce, 0xf8, 0x86, 0xf4, 0x36, 0x43, 0xe8, 0xf5, 0x8c, 0xf8, 0xd9, 0x07, 0xe2, 0xb1, 0x26, 0x4d, 0x99, 0x6b, 0xab, 0x3c, 0x42, 0xbe, 0x04, 0x21, 0x2f, 0xca, 0x49, 0x39, 0x9f, 0x6f, 0x90, 0xee, 0x0c, 0x0f, 0x89, 0x1a, 0x28, 0x26, 0x98, 0x2d, 0xda, 0x46, 0x7a, 0x6f, 0x42, 0xb3, 0x37, 0x47, 0x6a, 0xae, 0xda, 0x96, 0x14, 0x26, 0x40, 0x25, 0x0f, 0xee, 0x46, 0xbb, 0x30, 0x5d, 0x6d, 0x06, 0x35, 0xf1, 0x50, 0x98, 0xcf, 0xee, 0x18, 0x4d, 0x13, 0xb2, 0xc0, 0xfe, 0x75, 0xf2, 0x9f, 0xff, 0xfc, 0xeb, 0x8f, 0x91, 0xee, 0x06, 0xe4, 0xf0, 0xbb, 0xe2, 0xca, 0x42, 0xf3, 0xf4, 0x52, 0x50, 0x5b, 0x2c, 0x4e, 0x3c, 0x27, 0x9a, 0x70, 0x3c, 0xa3, 0xa9, 0xb3, 0xc5, 0x7c, 0xe4, 0xe5, 0x54, 0x86, 0x62, 0x91, 0x4c, 0x28, 0xfd, 0x20, 0xba, 0xd5, 0x51, 0x29, 0x38, 0x97, 0xef, 0x12, 0x72, 0x37, 0x5a, 0x04, 0xb9, 0x94, 0x69, 0x8b, 0xec, 0xcb, 0x27, 0x11, 0xe0, 0xc7, 0xb8, 0x36, 0x3e, 0xdd, 0x60, 0xfa, 0x87, 0xf7, 0x27, 0xd6, 0xd5, 0xe9, 0x73, 0xe5, 0x2b, 0x43, 0xa9, 0x77, 0xc3, 0xec, 0x2e, 0x9b, 0x18, 0x2e, 0x51, 0x2b, 0xf0, 0xc3, 0x70, 0x59, 0x27, 0x2f, 0x96, 0x86, 0xc6, 0xf3, 0x1e, 0xc8, 0x8e, 0xaf, 0xe9, 0xb5, 0x44, 0x5f, 0xb3, 0xf8, 0xa5, 0x97, 0x65, 0x65, 0x76, 0x68, 0x29, 0xd5, 0xb8, 0x52, 0x92, 0xdc, 0x76, 0x66, 0x24, 0x28, 0x30, 0x09, 0xdc, 0x01, 0xd7, 0x8f, 0x44, 0xe3, 0x06, 0x18, 0x9b, 0x07, 0x14, 0x06, 0x65, 0x7d, 0x6d, 0x94, 0x47, 0x33, 0x7b, 0x63, 0x64, 0x93, 0xb5, 0x5e, 0x0f, 0x84, 0xa4, 0x2a, 0xc5, 0x91, 0x8b, 0xc2, 0x08, 0xd8, 0x32, 0x44, 0xb6, 0xb0, 0x0c, 0xd3, 0xf1, 0x57, 0x64, 0xbb, 0x98, 0xfa, 0xe8, 0x6f, 0xd2, 0xbb, 0x38, 0xdc, 0x57, 0x5d, 0x00, 0xbb, 0x41, 0x13, 0x97, 0xbd, 0x4a, 0x05, 0x1b, 0xb9, 0xf6, 0x17, 0xf6, 0x3d, 0xb1, 0xd6, 0x54, 0x0e, 0x2e, 0xe5, 0x32, 0x9d, 0xd9, 0x42, 0x7a, 0x1f, 0x3a, 0x10, 0x65, 0x88, 0x29, 0xd5, 0x45, 0x66, 0x8b, 0x91, 0x74, 0xd5, 0x46, 0x5a, 0x95, 0x1b, 0x13, 0x0c, 0xb7, 0x8b, 0xeb, 0x52, 0x53, 0x8a, 0x00, 0x57, 0xc3, 0x8a, 0x43, 0x1f, 0x65, 0xe5, 0xe2, 0x79, 0x88, 0xc6, 0x7a, 0x2f, 0x04, 0x2f, 0xe7, 0x12, 0x66, 0xbf, 0xd8, 0x0f, 0x00, 0x4b, 0x46, 0xef, 0x30, 0x86, 0x21, 0xa1, 0xb7, 0x91, 0x5e, 0x41, 0x3c, 0x84, 0x0f, 0xfc, 0x58, 0x0e, 0xbc, 0x33, 0x1c, 0xc5, 0x5a, 0x9e, 0x3c, 0x7e, 0xfc, 0x98, 0x63, 0x2d, 0x5b, 0x27, 0xf8, 0xf0, 0xfb, 0xe3, 0x57, 0x67, 0x6f, 0xdf, 0x1e, 0xbf, 0x7b, 0x7d, 0xfc, 0x5a, 0x33, 0x3e, 0xbc, 0x95, 0x38, 0xea, 0x08, 0x57, 0x44, 0x59, 0x82, 0x66, 0x9f, 0x0f, 0x1e, 0xef, 0x0f, 0x0f, 0x1f, 0xef, 0x27, 0x86, 0x16, 0x53, 0x5b, 0xa7, 0x96, 0x2e, 0x52, 0xb2, 0x6f, 0xaf, 0xd6, 0x46, 0x55, 0x23, 0x68, 0xcf, 0x86, 0x30, 0x37, 0xe0, 0x7a, 0x25, 0x6f, 0x4f, 0xd6, 0x90, 0x1d, 0x1d, 0xc9, 0x0c, 0x18, 0x6d, 0x59, 0x90, 0x36, 0x17, 0xb0, 0x14, 0xdd, 0x07, 0x04, 0x7a, 0xb8, 0x4f, 0x1f, 0x1a, 0x25, 0x6f, 0x8c, 0xf6, 0x31, 0x2f, 0x6f, 0x99, 0x16, 0x5f, 0x5d, 0x19, 0xa5, 0x34, 0x0b, 0x43, 0x95, 0xed, 0xf7, 0xe9, 0xf5, 0x23, 0x7e, 0xfd, 0x37, 0x8c, 0xd1, 0x3f, 0x7e, 0xd6, 0x36, 0x2c, 0xcd, 0x45, 0x06, 0x2a, 0xbc, 0x96, 0x24, 0xf6, 0xe0, 0xfb, 0x8f, 0xd9, 0x1c, 0xff, 0xfa, 0xe5, 0x39, 0x3d, 0x6d, 0xcc, 0xf2, 0xb3, 0xef, 0xff, 0xe2, 0xca, 0x3c, 0xaf, 0x0f, 0x34, 0x9b, 0x51, 0x2a, 0x59, 0xd1, 0x88, 0xaf, 0x08, 0x83, 0xde, 0x4e, 0x99, 0xb5, 0x06, 0xa1, 0x0a, 0x19, 0xac, 0x90, 0x32, 0x50, 0xcd, 0xd6, 0x71, 0x8f, 0x2c, 0x39, 0xb4, 0xaa, 0x96, 0x2b, 0x1e, 0xab, 0xeb, 0x37, 0xac, 0x9c, 0xa6, 0x71, 0x9b, 0x73, 0xdf, 0x87, 0xbc, 0x98, 0x71, 0x63, 0xda, 0x96, 0x63, 0xb6, 0xa9, 0xd6, 0x59, 0xcc, 0x6b, 0xba, 0x11, 0x63, 0x87, 0x94, 0xda, 0x2a, 0x5f, 0xa6, 0x55, 0xce, 0xed, 0xe7, 0x89, 0xc0, 0x6f, 0xb8, 0x57, 0x26, 0xa7, 0x4a, 0x21, 0xf6, 0xe5, 0xc0, 0x64, 0xcb, 0x20, 0xed, 0xd4, 0xf6, 0x72, 0x20, 0x22, 0x66, 0x58, 0x23, 0x89, 0x51, 0xf2, 0x66, 0x6d, 0x84, 0xa1, 0x6b, 0xdb, 0xff, 0x56, 0xa1, 0xe8, 0x03, 0x9d, 0x4b, 0xde, 0x9c, 0x9c, 0x1e, 0xef, 0x26, 0x6f, 0xb2, 0x46, 0x4a, 0x9c, 0x34, 0xc3, 0x98, 0x44, 0xfe, 0xbf, 0x41, 0xc1, 0xb2, 0xa0, 0x84, 0x52, 0x23, 0x1c, 0xcd, 0x05, 0x13, 0x1f, 0x1c, 0x94, 0x0d, 0xad, 0x97, 0xe2, 0xc3, 0xc1, 0x12, 0x29, 0x1e, 0xa7, 0xb9, 0x65, 0x1a, 0xdf, 0x94, 0x93, 0x8f, 0xe4, 0xdd, 0x2a, 0xce, 0xc3, 0xc8, 0x43, 0x3c, 0x2b, 0xfd, 0x14, 0x02, 0x9a, 0xb4, 0xe4, 0x3c, 0x6b, 0xbc, 0x38, 0xaf, 0x57, 0x0b, 0xe2, 0x06, 0x51, 0x94, 0x97, 0x45, 0xe6, 0x2a, 0xfb, 0x40, 0xf9, 0xdc, 0x29, 0x5e, 0x8c, 0x1e, 0x30, 0x54, 0x5a, 0xaf, 0xb7, 0x71, 0x5f, 0xeb, 0xc6, 0x51, 0xda, 0x09, 0xff, 0xb9, 0xf7, 0x65, 0x14, 0x7c, 0x4c, 0x1b, 0x59, 0xa0, 0x67, 0xae, 0xbc, 0x01, 0x8a, 0xe2, 0x1e, 0xea, 0x22, 0xe4, 0x55, 0xed, 0x6c, 0x51, 0x42, 0x44, 0x7d, 0x85, 0xef, 0x4e, 0xcd, 0xdd, 0xbf, 0x48, 0x9f, 0x26, 0xd5, 0x1f, 0xa8, 0x04, 0xdc, 0x49, 0x17, 0xee, 0xd2, 0x6b, 0xb3, 0x8c, 0x93, 0x58, 0x4b, 0x34, 0xe6, 0xca, 0xd2, 0x92, 0x97, 0xb5, 0x29, 0xca, 0xd6, 0x4f, 0x35, 0x5d, 0x5f, 0xe7, 0x4b, 0x8f, 0x5d, 0x09, 0x78, 0x35, 0x7c, 0x29, 0x5c, 0x45, 0x56, 0x47, 0x5d, 0xfe, 0x52, 0xde, 0x26, 0xa1, 0x3d, 0xb4, 0x54, 0x65, 0xa7, 0x0c, 0xeb, 0xd0, 0x6b, 0x52, 0xe8, 0xb8, 0xb2, 0x0b, 0x7d, 0x08, 0x2a, 0xc6, 0xcb, 0x8c, 0x68, 0x4b, 0xf2, 0x75, 0x9f, 0x05, 0x75, 0x75, 0x76, 0xff, 0x33, 0x6d, 0x4b, 0x34, 0x54, 0x17, 0xcd, 0xde, 0x41, 0xa7, 0xa4, 0xbe, 0x1f, 0x54, 0xf5, 0x3e, 0xfd, 0x94, 0xa3, 0x10, 0x71, 0x0d, 0x75, 0x2e, 0x2d, 0xb4, 0xde, 0x8a, 0xa7, 0x69, 0x71, 0xde, 0x0d, 0xb9, 0x8d, 0x50, 0xce, 0x10, 0xd7, 0x3e, 0x19, 0xb2, 0x8c, 0x9c, 0x06, 0x84, 0xc2, 0xaa, 0xf3, 0x59, 0xa0, 0xa2, 0xc1, 0xde, 0x16, 0x55, 0xd4, 0xa8, 0x1e, 0x12, 0xba, 0x62, 0x04, 0x17, 0x3a, 0x43, 0xc3, 0x65, 0xb8, 0xfc, 0x6e, 0x04, 0x62, 0x6c, 0xbb, 0xca, 0x18, 0x9a, 0x7e, 0x64, 0x2c, 0xd1, 0x25, 0x95, 0x04, 0x28, 0x7e, 0x33, 0x2d, 0x59, 0xb6, 0xc7, 0xf0, 0xb6, 0xcb, 0xfc, 0x3a, 0x96, 0x65, 0x41, 0xf9, 0x11, 0x32, 0x31, 0x64, 0x69, 0xb8, 0x76, 0xb1, 0x9a, 0x76, 0x6c, 0x43, 0xda, 0xec, 0x97, 0x26, 0x1c, 0x40, 0xd9, 0xd9, 0xe0, 0x06, 0x2f, 0x48, 0x63, 0x25, 0x40, 0xaf, 0x82, 0x1b, 0xf4, 0x7e, 0x6d, 0x34, 0x9f, 0xe7, 0x5b, 0x16, 0x51, 0x1d, 0x7e, 0x55, 0x70, 0xc7, 0x16, 0xe5, 0x48, 0xcb, 0xe8, 0x61, 0xb4, 0xef, 0x98, 0x68, 0xee, 0x8d, 0x32, 0x2e, 0x5b, 0x70, 0x13, 0xa6, 0x35, 0xdb, 0x02, 0x18, 0xae, 0x18, 0x0d, 0x11, 0xe3, 0x69, 0x4a, 0xdf, 0x0f, 0x5f, 0xe1, 0xe3, 0xc3, 0xaf, 0x31, 0xdc, 0x1f, 0xb7, 0xac, 0xc3, 0xb7, 0xfb, 0xab, 0xe7, 0x61, 0xa3, 0x60, 0xe7, 0x37, 0x64, 0xc3, 0x63, 0xad, 0x55, 0x19, 0x48, 0x24, 0x91, 0x09, 0x72, 0x0f, 0x2e, 0x73, 0x45, 0xf6, 0xf4, 0xc0, 0x11, 0x4d, 0xa9, 0xc3, 0x2e, 0x9b, 0x36, 0xe5, 0xc0, 0x48, 0x91, 0x15, 0xc0, 0x74, 0x66, 0xc3, 0x72, 0x3e, 0x44, 0x86, 0xb4, 0x61, 0xfe, 0x9f, 0x28, 0x19, 0xc9, 0xbb, 0x75, 0x00, 0x08, 0x01, 0xf6, 0xf6, 0x6c, 0x16, 0x53, 0xcd, 0xb9, 0x90, 0x91, 0xb4, 0x0e, 0x21, 0x7c, 0x2d, 0xb4, 0xe0, 0x83, 0x7c, 0x2e, 0x5e, 0x79, 0xbc, 0x6e, 0xbb, 0x50, 0x11, 0x32, 0x97, 0x14, 0x44, 0x04, 0xfe, 0x34, 0x94, 0x47, 0x0c, 0x58, 0x7b, 0xc7, 0xaa, 0x61, 0xc3, 0x2d, 0xd9, 0x95, 0x0b, 0xff, 0xf3, 0x7a, 0x05, 0x95, 0x95, 0x10, 0x3b, 0x03, 0xef, 0x8b, 0x16, 0x89, 0x00, 0x8b, 0xd3, 0x08, 0xff, 0xc7, 0xa3, 0xfd, 0x41, 0x10, 0xa8, 0x6f, 0x60, 0xec, 0x17, 0x2e, 0x4b, 0xc8, 0x3c, 0x0c, 0x1e, 0x39, 0x8c, 0x55, 0xd7, 0xd6, 0xcd, 0x1d, 0xf1, 0x6b, 0x5b, 0x4c, 0x8b, 0xd4, 0x62, 0x57, 0xf7, 0xe0, 0x72, 0x7a, 0xb0, 0x85, 0xc2, 0x36, 0xb9, 0x8a, 0x36, 0x06, 0x71, 0x2a, 0x19, 0x5b, 0x5f, 0x0e, 0xbb, 0x6d, 0x32, 0x6d, 0xb7, 0x33, 0xbf, 0x7a, 0xc3, 0xeb, 0x5b, 0xd6, 0xeb, 0x69, 0x02, 0x9a, 0xe8, 0x4b, 0x6d, 0x7d, 0x33, 0x34, 0x9b, 0x2a, 0x1d, 0x5d, 0x87, 0x19, 0xfd, 0x90, 0x01, 0x3b, 0x14, 0x38, 0xb4, 0xee, 0xdf, 0x33, 0x06, 0xd9, 0x7d, 0x4a, 0x3b, 0x66, 0x5b, 0x0b, 0x68, 0x0f, 0x1d, 0x27, 0x1f, 0x40, 0xb6, 0xde, 0x5d, 0xea, 0xee, 0x19, 0x71, 0x15, 0xe2, 0x04, 0x85, 0xe6, 0x7c, 0xa3, 0x21, 0xfb, 0xed, 0x5d, 0x6f, 0x6a, 0x71, 0x4f, 0xce, 0x2f, 0xae, 0xcd, 0x1b, 0x52, 0xec, 0x87, 0xef, 0xcc, 0x31, 0x3c, 0x4f, 0xfe, 0xa3, 0xcc, 0xb8, 0x66, 0xf5, 0x9e, 0x92, 0xd5, 0xef, 0x5e, 0xbe, 0x7f, 0x77, 0xf2, 0xee, 0xab, 0xe7, 0x96, 0xc7, 0x11, 0xbf, 0xeb, 0xf6, 0xb4, 0xb0, 0xbc, 0x1b, 0xbf, 0x65, 0xe4, 0x56, 0xf2, 0xfe, 0xf4, 0x61, 0x6c, 0x53, 0x2c, 0x13, 0xec, 0x99, 0x9d, 0x97, 0x55, 0xc6, 0x71, 0x11, 0xb6, 0x45, 0xb5, 0x72, 0x42, 0xca, 0x35, 0x21, 0x2a, 0xd1, 0xb8, 0x2d, 0x02, 0xd8, 0x30, 0x3c, 0xa5, 0x33, 0x59, 0x94, 0xad, 0x1e, 0x51, 0x44, 0x94, 0x0b, 0x1c, 0x7f, 0xe9, 0x53, 0x00, 0x5b, 0xcc, 0xda, 0x51, 0x9d, 0x9d, 0x3e, 0x91, 0xe0, 0x2d, 0x63, 0x64, 0xab, 0xe7, 0xd5, 0xf6, 0xc7, 0x91, 0x26, 0x17, 0x35, 0x8e, 0xac, 0xce, 0xe1, 0x6c, 0xb0, 0x5b, 0xa2, 0x39, 0x5e, 0x11, 0x3f, 0x88, 0xc0, 0x4b, 0xa7, 0x6b, 0xbe, 0x2f, 0x8c, 0x4e, 0x26, 0x3f, 0x75, 0x75, 0x19, 0x76, 0x07, 0x1e, 0x9c, 0xe6, 0xec, 0xf2, 0x9c, 0x59, 0x9f, 0x67, 0x03, 0xd1, 0x63, 0x59, 0xe6, 0x4f, 0x12, 0x25, 0x51, 0x1c, 0x92, 0x45, 0xe6, 0xaa, 0x92, 0xac, 0xae, 0x73, 0xc5, 0xba, 0xce, 0x62, 0x15, 0x80, 0xed, 0x51, 0x9a, 0x79, 0x42, 0xbf, 0x51, 0xa7, 0x0e, 0x05, 0xaf, 0x20, 0x81, 0xd5, 0x2c, 0x69, 0x81, 0xdb, 0xd9, 0xd6, 0x90, 0xcc, 0xd4, 0x43, 0x79, 0x4a, 0x78, 0x4f, 0x19, 0xe3, 0x8d, 0xf9, 0x15, 0x30, 0xe6, 0xeb, 0x66, 0x8f, 0x57, 0xeb, 0xc9, 0x72, 0xf6, 0x38, 0x79, 0x61, 0xfe, 0x13, 0x28, 0x59, 0xc8, 0x19, 0x1d, 0xbf, 0x32, 0x8a, 0x16, 0x25, 0xb8, 0x90, 0xbc, 0x60, 0xc8, 0x1b, 0xaf, 0x8b, 0xc4, 0xd1, 0xa1, 0x99, 0xe9, 0x6d, 0xaa, 0xd0, 0x96, 0x46, 0x23, 0xbc, 0xcc, 0x1b, 0xce, 0xd3, 0xeb, 0xc1, 0x0d, 0xf2, 0x52, 0x1b, 0x70, 0xe6, 0x07, 0x87, 0x9f, 0x27, 0x54, 0x7c, 0xf0, 0xf6, 0xf5, 0xe3, 0x64, 0x7a, 0x95, 0x4d, 0x3f, 0xd5, 0xeb, 0xa5, 0xb2, 0x63, 0xda, 0x53, 0x63, 0x1e, 0xd0, 0x3c, 0x03, 0xc4, 0x07, 0x33, 0xf1, 0x45, 0x3e, 0xa5, 0xd2, 0xbf, 0x41, 0x2b, 0x3a, 0x35, 0xd7, 0xe8, 0x94, 0x67, 0x87, 0x5a, 0xb1, 0x81, 0x74, 0x01, 0xce, 0xa9, 0x89, 0x04, 0x2f, 0xcc, 0x1e, 0x98, 0x8f, 0xd7, 0xdc, 0xcd, 0x7a, 0xa3, 0xcb, 0xf6, 0x69, 0xdb, 0xeb, 0x4d, 0x17, 0x7b, 0x7f, 0xf4, 0xac, 0xa7, 0x3f, 0x47, 0xab, 0x35, 0x07, 0xd5, 0x2a, 0xd9, 0x6a, 0x3b, 0xd8, 0x03, 0xa4, 0xe5, 0xd3, 0x24, 0x09, 0x10, 0x4a, 0xc3, 0x78, 0xc1, 0xc7, 0xe9, 0xc9, 0x3d, 0x7a, 0x42, 0x7a, 0xcb, 0x21, 0x8b, 0x2d, 0x03, 0x26, 0x05, 0x93, 0x16, 0xd2, 0x84, 0x6c, 0x14, 0xd0, 0x22, 0x9c, 0x21, 0x04, 0x1b, 0x2a, 0x6d, 0xb6, 0xfe, 0x5b, 0x5d, 0x36, 0x8e, 0xc5, 0x48, 0x09, 0xad, 0x87, 0xe6, 0xa0, 0xb5, 0x84, 0xc0, 0x6b, 0x23, 0x9b, 0x22, 0x20, 0x32, 0xfb, 0x5d, 0x8e, 0x4b, 0xbb, 0xe3, 0xa8, 0x19, 0x8d, 0x10, 0xce, 0x73, 0xea, 0x12, 0xcb, 0x16, 0x75, 0x79, 0x53, 0x5c, 0x56, 0xe4, 0x1f, 0x41, 0x51, 0x58, 0x1a, 0x8b, 0x65, 0xc4, 0x10, 0x4c, 0xdd, 0xd8, 0xc6, 0xe2, 0x7a, 0x42, 0x9c, 0xde, 0xee, 0x0a, 0xe5, 0xdb, 0x73, 0x10, 0x9b, 0x2b, 0x96, 0xd9, 0x66, 0xf7, 0x8e, 0x68, 0x7f, 0x20, 0xc7, 0x74, 0x30, 0xda, 0x7f, 0xc8, 0x31, 0x11, 0x11, 0xb5, 0x4e, 0xc7, 0xbc, 0xe7, 0x6b, 0xc9, 0x9a, 0x44, 0x6e, 0x88, 0xbd, 0x27, 0xfb, 0xce, 0x2c, 0x54, 0xfc, 0x57, 0xd9, 0xac, 0x35, 0xd4, 0x46, 0x9e, 0xe3, 0x37, 0x6f, 0xe3, 0xe9, 0x1e, 0x48, 0x18, 0x86, 0xfe, 0x75, 0xd8, 0x25, 0x3a, 0xf3, 0xeb, 0x9f, 0xb9, 0x9a, 0x83, 0x9f, 0x50, 0xaa, 0xb1, 0x3f, 0x70, 0xdf, 0xdb, 0xb7, 0x2d, 0x11, 0x78, 0x42, 0xee, 0x5e, 0x74, 0x86, 0x0b, 0x21, 0xef, 0xf1, 0x02, 0x95, 0xbb, 0x94, 0xd5, 0x90, 0x54, 0x76, 0x73, 0x58, 0x81, 0x0a, 0x15, 0x9d, 0xbe, 0x39, 0xde, 0x9a, 0x14, 0x5b, 0xd2, 0x69, 0x41, 0x9c, 0x88, 0x19, 0x31, 0xaa, 0x99, 0x35, 0xe9, 0xa3, 0x69, 0xfb, 0x20, 0x90, 0x43, 0x4f, 0x45, 0xc7, 0x0f, 0x68, 0x53, 0x93, 0x0f, 0x2b, 0xd0, 0x20, 0xc5, 0xb8, 0x1b, 0x07, 0xfc, 0x8f, 0xd9, 0x25, 0x7d, 0xb3, 0x73, 0xd8, 0x5f, 0x1a, 0x93, 0x47, 0xb1, 0x66, 0xad, 0xdf, 0xa9, 0xa9, 0x0a, 0x96, 0x54, 0x7e, 0x69, 0x11, 0xc7, 0x80, 0xf8, 0x6e, 0x92, 0x31, 0x58, 0x5f, 0xbd, 0x58, 0x46, 0xd5, 0x94, 0x51, 0x5a, 0xd9, 0xf4, 0x04, 0x8f, 0xce, 0xea, 0xbe, 0xf6, 0xec, 0x73, 0xf0, 0xf4, 0x11, 0xff, 0x4a, 0xee, 0xba, 0x84, 0x77, 0x80, 0xfd, 0x82, 0x00, 0x50, 0xf4, 0x38, 0x1e, 0xdc, 0x02, 0x21, 0xc0, 0xef, 0xea, 0x34, 0xb1, 0xe0, 0xb5, 0x8c, 0x1e, 0x46, 0xdc, 0xfb, 0x83, 0xe8, 0xec, 0x88, 0xda, 0x7c, 0xe2, 0x6f, 0x81, 0xe1, 0x3d, 0x8b, 0x10, 0xd7, 0xcf, 0xba, 0x0b, 0x87, 0x9b, 0xc2, 0xa0, 0xe1, 0x1d, 0x3c, 0x1a, 0xe9, 0xd7, 0xfa, 0xf6, 0x2a, 0x60, 0x67, 0xbd, 0xed, 0x23, 0x1e, 0xb6, 0x5b, 0x3d, 0x7b, 0x63, 0xf7, 0xae, 0xb3, 0x5b, 0x7d, 0x47, 0xab, 0x57, 0x35, 0xe0, 0x57, 0x3d, 0x57, 0xf5, 0x28, 0xbe, 0x9b, 0x56, 0x43, 0xed, 0xf8, 0x3c, 0xc9, 0x65, 0x56, 0xe5, 0x30, 0x89, 0xd3, 0xc5, 0x28, 0x79, 0xed, 0x72, 0x5a, 0x00, 0xbc, 0x17, 0x18, 0xab, 0xb3, 0x75, 0x4f, 0xe6, 0xc7, 0xe6, 0xd3, 0x3a, 0x92, 0xa4, 0x1e, 0x97, 0xb8, 0x00, 0x99, 0x2e, 0x45, 0x59, 0x65, 0x00, 0x88, 0x29, 0x9e, 0x1b, 0x0d, 0x5f, 0x4a, 0x98, 0x8e, 0x52, 0xb3, 0x24, 0x00, 0x83, 0xad, 0x3f, 0xf2, 0x63, 0xe6, 0x56, 0xbd, 0xa6, 0x12, 0x82, 0x98, 0xa7, 0x08, 0x5f, 0xd4, 0xf4, 0x76, 0x48, 0x44, 0x55, 0x28, 0xcd, 0x47, 0xae, 0xf3, 0x34, 0x79, 0xb9, 0x68, 0x86, 0xe3, 0x6f, 0xa7, 0x1c, 0x61, 0x6b, 0x85, 0xa7, 0x82, 0x26, 0xaf, 0xf0, 0xaa, 0xa0, 0x3f, 0x57, 0x2d, 0x49, 0xab, 0x79, 0x35, 0x5d, 0x2f, 0x81, 0x81, 0x0a, 0xb2, 0xb2, 0x7d, 0x22, 0xe8, 0x20, 0x1d, 0xa5, 0x71, 0xba, 0x7d, 0x08, 0x7e, 0x98, 0x7e, 0xaa, 0x75, 0x49, 0x52, 0xa4, 0xc3, 0x75, 0x18, 0x76, 0xce, 0xed, 0xf6, 0x6a, 0x11, 0x11, 0xd4, 0xb1, 0xec, 0x18, 0xa6, 0x97, 0x50, 0x60, 0xfe, 0xdb, 0x87, 0x93, 0x57, 0x2d, 0xef, 0x3e, 0xc7, 0x51, 0x92, 0x8d, 0xd1, 0x0a, 0x86, 0x95, 0x95, 0x27, 0xe7, 0xa4, 0xc3, 0x6a, 0x36, 0xae, 0x26, 0xce, 0xb5, 0x8e, 0xb7, 0x2c, 0x22, 0x22, 0xd5, 0xe8, 0x0b, 0x3f, 0xed, 0x8e, 0x1e, 0xea, 0x1d, 0x3d, 0xfa, 0xa5, 0xef, 0xe8, 0xd1, 0x2f, 0x73, 0x47, 0x95, 0x83, 0x78, 0x7f, 0xf7, 0xaf, 0x6b, 0x60, 0x96, 0xe2, 0xfa, 0xfa, 0x0e, 0xe7, 0x76, 0xce, 0xc0, 0x90, 0xc1, 0x23, 0x86, 0xe2, 0xb7, 0x18, 0x72, 0x81, 0x6c, 0xac, 0x36, 0x2c, 0x11, 0xc7, 0xa9, 0x82, 0x3f, 0x0e, 0x92, 0x13, 0x06, 0x36, 0x47, 0x76, 0x92, 0xbc, 0x7e, 0xca, 0xf5, 0xb5, 0xe2, 0xf7, 0x56, 0x9f, 0x7f, 0xa4, 0x02, 0x3f, 0x9f, 0x12, 0xbc, 0x9a, 0xf3, 0xb8, 0x93, 0xc5, 0xac, 0x3a, 0x63, 0xb5, 0x46, 0x48, 0x21, 0x79, 0xb9, 0xa2, 0x12, 0x59, 0xa3, 0x71, 0xdc, 0xba, 0xfe, 0xc8, 0x44, 0x62, 0x61, 0x2e, 0x12, 0x6d, 0x32, 0x79, 0x70, 0x25, 0xf3, 0xbe, 0x3b, 0x1d, 0x8c, 0xce, 0xf0, 0x87, 0x0b, 0x22, 0xfe, 0x8a, 0x0d, 0xc7, 0x43, 0x43, 0xe0, 0x97, 0x41, 0x5b, 0x85, 0xc9, 0x5d, 0x13, 0x29, 0x03, 0xa3, 0x55, 0xd3, 0x2e, 0xec, 0xd4, 0x92, 0x65, 0xfa, 0xc8, 0xec, 0xe3, 0xee, 0x80, 0x1a, 0xd0, 0xaf, 0xb0, 0x03, 0x54, 0xa7, 0x63, 0x8d, 0x2b, 0x2a, 0x53, 0xcb, 0x2f, 0xc9, 0x63, 0x55, 0xf2, 0x35, 0x0e, 0x2c, 0x1a, 0xf2, 0x6e, 0x4b, 0x9a, 0xa3, 0xe6, 0x10, 0x0a, 0xdc, 0x6c, 0xbb, 0x44, 0x35, 0x1f, 0xa0, 0xf3, 0x1c, 0x7c, 0xd3, 0xdd, 0xe0, 0x91, 0x78, 0xac, 0xd9, 0xfe, 0x55, 0x9d, 0x46, 0x61, 0xfd, 0xc5, 0xe2, 0x15, 0xc6, 0x25, 0x2d, 0x3a, 0x10, 0xd8, 0xc3, 0x93, 0x91, 0x5e, 0x3f, 0xed, 0x17, 0xa7, 0xf0, 0x6c, 0xf2, 0x17, 0xc4, 0x01, 0xc5, 0x66, 0xbe, 0x85, 0x88, 0x26, 0x2f, 0x11, 0xf9, 0xf3, 0xb9, 0xd3, 0xca, 0x20, 0x84, 0xd5, 0xb3, 0xbe, 0x67, 0x07, 0x14, 0xdd, 0xba, 0xb1, 0x0a, 0xee, 0x3c, 0x1a, 0x8d, 0x22, 0x70, 0x16, 0xd7, 0x79, 0x76, 0xd3, 0x72, 0xc5, 0xcb, 0xcc, 0x06, 0xb6, 0x41, 0x0a, 0x7b, 0x80, 0xae, 0x69, 0x87, 0xcc, 0x90, 0x13, 0x42, 0xd2, 0xec, 0x29, 0x27, 0x71, 0x57, 0xde, 0x7f, 0xda, 0xdb, 0xe6, 0x4f, 0xbc, 0xcd, 0x75, 0xac, 0x1e, 0x94, 0x81, 0x91, 0x5d, 0x3f, 0x87, 0x01, 0x79, 0x44, 0xaa, 0xbb, 0x04, 0x8d, 0x3b, 0x1c, 0x4f, 0xc3, 0xf5, 0xe7, 0xfa, 0x83, 0xbc, 0x66, 0x5c, 0x62, 0xc6, 0x15, 0x0a, 0xa3, 0xc5, 0xfc, 0x99, 0x36, 0x3f, 0x10, 0x7e, 0xae, 0xd2, 0xcb, 0x88, 0xbd, 0x29, 0x39, 0xa2, 0x20, 0x9c, 0xb4, 0x19, 0x01, 0x5c, 0x31, 0x91, 0xd4, 0x23, 0x39, 0x11, 0xaf, 0x73, 0x89, 0x97, 0x29, 0xe3, 0xda, 0xc9, 0x24, 0xba, 0xc0, 0x78, 0xbc, 0x57, 0xcf, 0xd5, 0xe7, 0xd3, 0xfe, 0x4a, 0x8c, 0x75, 0x24, 0xad, 0xd9, 0xc4, 0x17, 0xeb, 0xf0, 0x96, 0xbb, 0x36, 0xa2, 0xab, 0x4f, 0x75, 0x98, 0x5a, 0xce, 0xab, 0xcd, 0xe0, 0x7d, 0x58, 0x99, 0x0c, 0x5e, 0xfb, 0x40, 0xd9, 0x01, 0xd4, 0x80, 0x6b, 0x1e, 0x44, 0x03, 0x73, 0x83, 0x9f, 0xe8, 0x11, 0xb3, 0x5e, 0xc1, 0xa8, 0x17, 0xd4, 0x82, 0x6a, 0x4d, 0x89, 0x27, 0xb8, 0xfb, 0x52, 0xbd, 0x2e, 0x05, 0xeb, 0x5d, 0x30, 0x13, 0x0b, 0x09, 0x47, 0xbb, 0x3f, 0xba, 0x4a, 0x6f, 0x6f, 0x47, 0x75, 0xb6, 0x67, 0xa8, 0xb6, 0xde, 0xab, 0xeb, 0x05, 0x7d, 0xb4, 0x06, 0xfa, 0xda, 0xc6, 0xee, 0x96, 0xb7, 0x77, 0x96, 0x80, 0x84, 0x39, 0x4f, 0x53, 0x7a, 0xb5, 0xc5, 0x6c, 0x5d, 0x7b, 0x4b, 0x6e, 0x10, 0xd3, 0x4d, 0x19, 0x66, 0xe0, 0x69, 0x40, 0xa8, 0xfb, 0xd5, 0xb6, 0xcc, 0x1a, 0x5c, 0x72, 0x96, 0x1d, 0xc7, 0xe1, 0xe9, 0x13, 0xd4, 0x74, 0xd5, 0x57, 0xda, 0x21, 0x77, 0xd5, 0x0b, 0x8d, 0x9a, 0x4d, 0xb1, 0x05, 0x10, 0x46, 0x3e, 0x38, 0x58, 0x1d, 0xee, 0xf8, 0x44, 0x96, 0x74, 0xf9, 0x29, 0x02, 0xf9, 0xd4, 0xe7, 0xb6, 0xf4, 0x96, 0x46, 0xa5, 0x22, 0xcf, 0x1d, 0xc0, 0xe0, 0xcd, 0xcd, 0xcd, 0x68, 0x93, 0xdf, 0xf2, 0x5f, 0x8e, 0x81, 0xb7, 0x87, 0x3b, 0x33, 0x54, 0x7b, 0x9a, 0x17, 0xeb, 0xdb, 0xc4, 0xc3, 0x78, 0xb1, 0xcd, 0x80, 0x34, 0x30, 0x97, 0x7c, 0xfb, 0xfe, 0x8d, 0x6d, 0x84, 0xad, 0xe8, 0x1a, 0xe4, 0xf9, 0xad, 0x43, 0xad, 0x2d, 0xcb, 0x19, 0x77, 0x87, 0x40, 0xa3, 0x5f, 0xbd, 0x3c, 0xff, 0xf8, 0xee, 0xf8, 0xe2, 0xe3, 0xfb, 0x97, 0xdf, 0xd1, 0x16, 0xb2, 0x57, 0xc6, 0xc8, 0x2b, 0x8a, 0x07, 0x54, 0x65, 0x49, 0x4d, 0xed, 0xde, 0xa2, 0x6c, 0x30, 0x2f, 0x00, 0xaf, 0x12, 0x6d, 0xb3, 0x6e, 0x31, 0xa3, 0x64, 0x9e, 0x66, 0x2e, 0xcf, 0x93, 0xd6, 0x7e, 0x7d, 0xca, 0xaa, 0x22, 0x5b, 0x8c, 0xca, 0xea, 0x92, 0xa8, 0x70, 0xef, 0xb5, 0xf0, 0xcf, 0xe8, 0x70, 0x7b, 0x92, 0xd5, 0x40, 0x10, 0x64, 0xd7, 0xd5, 0x9c, 0x10, 0x4b, 0x1e, 0xda, 0xa3, 0xd0, 0x23, 0xcd, 0x47, 0x60, 0x80, 0xab, 0xeb, 0x47, 0x1b, 0xd4, 0xbb, 0x76, 0xa7, 0x58, 0xe9, 0xf1, 0x06, 0x0a, 0x82, 0xef, 0xc7, 0xcf, 0x55, 0xe1, 0xea, 0xcc, 0xc5, 0xdd, 0x20, 0x02, 0x80, 0x00, 0x75, 0xae, 0xb4, 0x50, 0x12, 0x28, 0x70, 0xa3, 0x24, 0x9b, 0x8d, 0x2d, 0xee, 0xad, 0x56, 0xd4, 0xf5, 0x21, 0xf4, 0xf9, 0x1e, 0x86, 0x4f, 0x42, 0xcb, 0x90, 0x9a, 0x2e, 0x7a, 0x6b, 0x7e, 0x22, 0x6b, 0x7e, 0xf2, 0x2f, 0xad, 0xf9, 0xc9, 0xbf, 0xb0, 0xe6, 0x47, 0xbf, 0xf0, 0x9a, 0x1f, 0x45, 0xd7, 0xec, 0x7d, 0x65, 0xf8, 0x37, 0x5a, 0xf3, 0xdf, 0xd6, 0xc5, 0xa7, 0xa1, 0x99, 0x2f, 0x49, 0x61, 0xe9, 0xb1, 0x56, 0xf7, 0x98, 0x6c, 0x7e, 0xa3, 0x1d, 0xf8, 0xf6, 0x1d, 0xc0, 0xb0, 0xd7, 0x33, 0x2e, 0x15, 0x53, 0x81, 0x43, 0xfc, 0x4d, 0xd8, 0xd4, 0x22, 0x30, 0x10, 0x72, 0xaa, 0xf7, 0xad, 0xa7, 0xe4, 0xa7, 0x20, 0xcd, 0x7e, 0x4b, 0x66, 0xa3, 0xc3, 0x6e, 0x69, 0xdf, 0x15, 0xdc, 0xf4, 0x34, 0xc4, 0x39, 0x9a, 0xc2, 0x4d, 0x86, 0x3b, 0x69, 0x63, 0xe0, 0xae, 0x2f, 0x3b, 0x8c, 0x0e, 0xc6, 0x80, 0xd2, 0x81, 0x39, 0x2e, 0x48, 0x31, 0x9f, 0x90, 0x67, 0x5c, 0xdc, 0xad, 0x68, 0x40, 0x23, 0x9b, 0x2b, 0x23, 0x83, 0x39, 0x11, 0x05, 0xcd, 0xc4, 0x13, 0x3b, 0xc9, 0xa4, 0x33, 0x41, 0x89, 0x76, 0x5c, 0x65, 0x77, 0xdb, 0x81, 0xc2, 0x30, 0x5d, 0x94, 0xc4, 0x6f, 0x66, 0x9b, 0x8d, 0x8f, 0x89, 0x6b, 0x70, 0xc7, 0xf2, 0xa2, 0xd3, 0xf1, 0xce, 0x97, 0x1b, 0x9f, 0xb2, 0x6c, 0x95, 0x2e, 0x00, 0xad, 0x41, 0xb9, 0x0f, 0x7d, 0x8d, 0xb2, 0x5a, 0xc9, 0x91, 0x5a, 0x38, 0x80, 0x37, 0x5a, 0x99, 0x67, 0xe0, 0x73, 0x7c, 0x90, 0x54, 0x29, 0x93, 0xe4, 0x33, 0xd4, 0xba, 0xc6, 0xfb, 0xa6, 0xb8, 0xa6, 0x0c, 0x76, 0x12, 0xd4, 0x7a, 0xa3, 0x9c, 0x08, 0x06, 0x8c, 0xfd, 0x84, 0xe2, 0xc8, 0x51, 0x6a, 0xce, 0x75, 0x4e, 0x29, 0x79, 0x5d, 0xec, 0x61, 0xfb, 0x3e, 0xbf, 0x0e, 0x54, 0xa9, 0x56, 0xe7, 0x04, 0x3e, 0x40, 0x7a, 0xa2, 0xb4, 0xf2, 0x8f, 0xd4, 0x0d, 0xf4, 0x11, 0x0d, 0x48, 0x4a, 0x01, 0x94, 0x59, 0xff, 0xbd, 0x78, 0x75, 0xfe, 0xf1, 0x9b, 0xe3, 0xe3, 0xf3, 0x93, 0xd7, 0xa7, 0xc7, 0x72, 0x61, 0xec, 0x8f, 0xde, 0x5d, 0x7c, 0x7b, 0xaa, 0x7d, 0xe2, 0x94, 0x16, 0x03, 0x82, 0x17, 0xd8, 0x7f, 0x66, 0xca, 0x03, 0xb4, 0xc3, 0x32, 0x86, 0xf4, 0xcb, 0x93, 0xef, 0x8d, 0xd6, 0x7a, 0x3e, 0xfc, 0xf0, 0x7d, 0xd0, 0x8b, 0xc4, 0xab, 0x31, 0x09, 0x9b, 0x09, 0xb8, 0x92, 0x13, 0xf4, 0x74, 0x77, 0x6b, 0xef, 0x4b, 0xb9, 0xfb, 0x85, 0xc5, 0x20, 0x35, 0x38, 0x2f, 0xac, 0xc2, 0xc0, 0x2f, 0x6a, 0xbf, 0x1f, 0x2f, 0xad, 0xed, 0xc9, 0xbe, 0xb6, 0x51, 0xdb, 0x18, 0xb4, 0xf8, 0xbc, 0x6d, 0x33, 0x7e, 0xca, 0xee, 0x80, 0xe1, 0x98, 0xbc, 0xa0, 0xff, 0xc6, 0xdb, 0xdc, 0x9d, 0x57, 0xf9, 0x35, 0xe9, 0x7f, 0xe6, 0x59, 0x0e, 0xe9, 0xd2, 0xa3, 0x23, 0xdb, 0xf4, 0x4f, 0xc2, 0xca, 0x34, 0x08, 0x32, 0x4f, 0x30, 0x68, 0x12, 0xf3, 0xf6, 0x00, 0x19, 0x87, 0x7e, 0xc3, 0xe3, 0x61, 0x40, 0xb3, 0x3d, 0xa3, 0xe4, 0xf5, 0xf1, 0xfb, 0x41, 0x72, 0x7e, 0xfc, 0x96, 0x0b, 0x55, 0x8e, 0xdf, 0x7d, 0xc5, 0x7d, 0x10, 0xb5, 0xbd, 0x1d, 0x32, 0x21, 0xc2, 0x64, 0x4d, 0x6f, 0x4f, 0xcc, 0xbb, 0xc8, 0x4c, 0xad, 0x6b, 0x23, 0x5d, 0x7f, 0x45, 0x00, 0x1d, 0x5e, 0xdb, 0x0b, 0xf3, 0x9f, 0xd8, 0x56, 0x19, 0x3b, 0xe2, 0xeb, 0xc8, 0x76, 0x89, 0x62, 0x66, 0x73, 0x67, 0xc4, 0x28, 0xa0, 0xdd, 0xe0, 0x1d, 0x33, 0x1b, 0x12, 0x66, 0x71, 0xe8, 0x06, 0xc1, 0xec, 0x03, 0x84, 0x10, 0x37, 0xcf, 0x95, 0x18, 0x3c, 0x59, 0xb1, 0xe6, 0x73, 0x03, 0xa2, 0x4b, 0x00, 0x92, 0xbb, 0xcd, 0x88, 0x55, 0x47, 0x57, 0x39, 0x37, 0x22, 0xee, 0x20, 0xd3, 0x99, 0xed, 0xce, 0x67, 0x8c, 0xc0, 0x40, 0x01, 0xe4, 0xb2, 0xa2, 0x04, 0x0e, 0x82, 0x3e, 0xf8, 0x9f, 0x7b, 0xa3, 0xba, 0xbe, 0xda, 0xcb, 0x67, 0x1f, 0xab, 0x3a, 0xdd, 0xee, 0xca, 0x22, 0xef, 0xd7, 0x33, 0xfa, 0x75, 0xb2, 0x3d, 0xb2, 0x8f, 0xca, 0xdf, 0xe9, 0xe7, 0x51, 0x2c, 0x00, 0x15, 0x41, 0xec, 0x5a, 0xd1, 0x7c, 0x4e, 0x6d, 0x9f, 0xb8, 0xc8, 0x27, 0x95, 0x51, 0xe0, 0x5c, 0xf7, 0x0f, 0xe9, 0x86, 0xb8, 0xfa, 0x34, 0xad, 0x0f, 0x0e, 0x42, 0x34, 0x7a, 0x5b, 0xe2, 0x38, 0xd0, 0xbc, 0xdc, 0xf3, 0x6f, 0x5e, 0x8d, 0x7f, 0x77, 0x70, 0x80, 0x34, 0xe8, 0x1d, 0x4a, 0x57, 0x7d, 0xfa, 0xf8, 0xe0, 0x70, 0x37, 0xa6, 0x3e, 0x06, 0x79, 0x3d, 0xd4, 0xc1, 0x32, 0x75, 0xf4, 0x49, 0xbb, 0x8f, 0x30, 0xb7, 0x14, 0x3d, 0xd8, 0xa1, 0x67, 0x19, 0x25, 0x09, 0xa2, 0xb2, 0x93, 0xc3, 0x99, 0xc8, 0x9d, 0x0c, 0x52, 0x2f, 0x2c, 0x0e, 0xd2, 0x16, 0xcf, 0xfe, 0xf9, 0x96, 0xa5, 0x2a, 0x3f, 0x87, 0x1c, 0xf9, 0x27, 0xde, 0xac, 0x47, 0xbc, 0x4f, 0xdd, 0xf0, 0x9a, 0xbf, 0x2e, 0x24, 0x3a, 0x3a, 0xa0, 0x29, 0x16, 0x5f, 0xae, 0x75, 0x64, 0x27, 0x41, 0x80, 0xf2, 0x03, 0x02, 0x5f, 0xbd, 0xcc, 0x69, 0x8b, 0xe9, 0x87, 0x08, 0x3e, 0x75, 0x83, 0xda, 0xdd, 0xf7, 0x18, 0x84, 0x3f, 0x68, 0xe8, 0xec, 0xe3, 0x6f, 0x24, 0x5b, 0xe6, 0xee, 0xc6, 0x87, 0xfc, 0x55, 0xef, 0x64, 0x35, 0x49, 0x5e, 0x2c, 0xcc, 0x8b, 0x8b, 0x9e, 0xd2, 0xbb, 0x63, 0x6e, 0xb7, 0xf5, 0x4d, 0x56, 0x4d, 0xb2, 0xaa, 0xac, 0x3b, 0x55, 0x42, 0x58, 0xad, 0xd4, 0xfd, 0x52, 0x4d, 0x80, 0x19, 0x47, 0xd3, 0xa5, 0x82, 0xc6, 0x9a, 0x0d, 0xac, 0x6f, 0xc1, 0x78, 0x6f, 0xe3, 0xf2, 0x6c, 0xa3, 0x56, 0x89, 0x2e, 0x00, 0xf5, 0x97, 0xa2, 0x3f, 0x0d, 0x37, 0x9e, 0xa3, 0x19, 0x4c, 0x9e, 0x2e, 0xb6, 0xa9, 0xeb, 0x4f, 0xf7, 0x1a, 0x09, 0xa5, 0x6d, 0x8f, 0xa8, 0x00, 0x8d, 0x8d, 0x35, 0x64, 0x41, 0xa1, 0xdc, 0x3a, 0x4d, 0x64, 0x2e, 0x9a, 0xdf, 0x4d, 0xd7, 0xdc, 0xa5, 0x01, 0xd6, 0x41, 0x27, 0x24, 0x3b, 0x5c, 0x1b, 0x3a, 0xa9, 0x2f, 0xc3, 0xf8, 0x17, 0x16, 0x53, 0x7c, 0x0c, 0x3f, 0xb9, 0x79, 0xb6, 0xed, 0x97, 0xdd, 0x19, 0x4e, 0xcf, 0xca, 0x3f, 0x67, 0x7d, 0x3f, 0xda, 0x8a, 0xf6, 0x25, 0x57, 0x87, 0x77, 0xb0, 0x46, 0xd0, 0x95, 0x80, 0x4a, 0x9a, 0x66, 0x6c, 0x18, 0x4a, 0xf5, 0xab, 0x4b, 0x9c, 0x60, 0x4e, 0x13, 0x06, 0xc7, 0xb1, 0x54, 0xf4, 0x0f, 0xd1, 0x69, 0x0f, 0xd9, 0x78, 0x7f, 0x95, 0x88, 0x37, 0x02, 0x75, 0x51, 0x37, 0x15, 0xa1, 0xa5, 0x16, 0x0e, 0x73, 0x79, 0x91, 0xf5, 0x82, 0x68, 0x29, 0xa2, 0xaa, 0x39, 0xa4, 0x85, 0xf4, 0x36, 0xd4, 0x6c, 0xc4, 0x4a, 0xe7, 0x34, 0x94, 0x64, 0x0e, 0x75, 0x18, 0xd0, 0x7b, 0xff, 0x76, 0x2f, 0xa4, 0xca, 0x7d, 0x67, 0xe7, 0x54, 0xfa, 0x18, 0x4c, 0xc2, 0x83, 0xb1, 0xe2, 0x3a, 0x65, 0x7e, 0xa8, 0x18, 0x18, 0x42, 0x26, 0xbd, 0x30, 0xfc, 0x34, 0x0b, 0xc0, 0xb2, 0xc6, 0x2d, 0x7c, 0x05, 0x69, 0xf9, 0xaa, 0x25, 0x74, 0x78, 0xcf, 0xb6, 0xbe, 0xb6, 0x4d, 0xca, 0x98, 0xf6, 0x87, 0x50, 0x59, 0xbb, 0xee, 0x36, 0x6a, 0x57, 0xe2, 0xca, 0xb4, 0x71, 0x6b, 0x01, 0x46, 0xaf, 0x20, 0x47, 0x9a, 0x25, 0xcd, 0xdb, 0x41, 0xbe, 0x68, 0xc9, 0xbf, 0x85, 0x71, 0x91, 0x06, 0x3e, 0x10, 0x14, 0x3c, 0x70, 0x07, 0x10, 0x21, 0x82, 0xed, 0x19, 0x7b, 0x46, 0x71, 0x24, 0x76, 0xaa, 0x74, 0xf1, 0x24, 0x0c, 0xc5, 0x5d, 0x13, 0xcc, 0x8d, 0x0e, 0x4c, 0x85, 0x89, 0x19, 0xe2, 0x26, 0x9f, 0x35, 0x57, 0xe8, 0xc9, 0xa3, 0x96, 0x51, 0x2d, 0xb8, 0x00, 0xe4, 0xa4, 0xce, 0xc3, 0xaa, 0xb7, 0x49, 0x8f, 0x03, 0x8f, 0x0f, 0x0c, 0x9b, 0x9a, 0x30, 0x40, 0x16, 0x39, 0xea, 0x70, 0x0e, 0x70, 0x6a, 0xef, 0xb1, 0xaa, 0x67, 0xa1, 0x61, 0x52, 0x73, 0x8b, 0xe6, 0xd4, 0x6e, 0x27, 0x30, 0xd7, 0xb4, 0x3c, 0x6d, 0xa4, 0x37, 0x84, 0x68, 0x78, 0xfb, 0x13, 0x83, 0xe2, 0x7f, 0xb3, 0xad, 0x5d, 0x65, 0xd7, 0x45, 0xe3, 0x57, 0xd0, 0x10, 0x2f, 0x4f, 0x3e, 0xe5, 0x61, 0xa7, 0x06, 0x7c, 0x7d, 0x60, 0x78, 0xcd, 0x92, 0x47, 0x78, 0xbb, 0xad, 0x8e, 0x52, 0x02, 0x4c, 0xb8, 0x4c, 0xe5, 0xf7, 0x0c, 0x96, 0xb2, 0x7d, 0xc9, 0x0f, 0x7d, 0xe5, 0x1e, 0xea, 0x0c, 0x47, 0x5e, 0x7b, 0xf6, 0xd2, 0x6b, 0x32, 0x5d, 0xfd, 0x9c, 0x0a, 0x34, 0xbe, 0x19, 0x24, 0x47, 0x4b, 0x1c, 0xca, 0xc1, 0x57, 0x31, 0xc6, 0xc5, 0x3d, 0x82, 0xeb, 0xd2, 0x96, 0xcb, 0x0f, 0xff, 0x42, 0x26, 0x17, 0x36, 0x8c, 0xe9, 0xd2, 0x56, 0x82, 0x71, 0x3d, 0x8a, 0xf2, 0x83, 0x48, 0xd0, 0x01, 0xb9, 0x94, 0x2b, 0x32, 0x12, 0x66, 0x99, 0xa2, 0x84, 0x2f, 0xe1, 0xdd, 0xa4, 0x6c, 0xa9, 0x95, 0xc0, 0x61, 0x10, 0xb9, 0x0e, 0x2d, 0x04, 0x69, 0xbd, 0xa0, 0x07, 0xd0, 0x26, 0xab, 0x0c, 0x32, 0xab, 0x17, 0x2b, 0x18, 0x48, 0xb6, 0x93, 0x9d, 0x37, 0x29, 0xaa, 0x6a, 0x9d, 0x26, 0xe2, 0xe3, 0xf9, 0x15, 0x45, 0xe2, 0x02, 0x29, 0x7a, 0x79, 0xdd, 0x0c, 0x23, 0x78, 0xaf, 0x88, 0x01, 0x9d, 0x9f, 0x9d, 0x1f, 0xed, 0xfa, 0xa0, 0x98, 0x02, 0x8e, 0xc0, 0x3d, 0x1f, 0x11, 0x25, 0xb2, 0xc0, 0x09, 0x03, 0x65, 0x37, 0x5c, 0xa6, 0x17, 0xda, 0x96, 0x53, 0x41, 0x8c, 0x23, 0xe6, 0x82, 0x2f, 0xc2, 0xe5, 0xef, 0x0a, 0x45, 0xbc, 0x6e, 0x88, 0xee, 0x62, 0x2a, 0x3c, 0xe2, 0x67, 0x21, 0xac, 0x4c, 0xcd, 0x09, 0xe5, 0x40, 0x64, 0x19, 0xa2, 0xf8, 0xaf, 0xdd, 0x4f, 0x84, 0x0a, 0x17, 0x82, 0x59, 0x26, 0x9c, 0x78, 0x14, 0x49, 0xe9, 0x92, 0x20, 0xaf, 0x7b, 0x12, 0x01, 0x09, 0x2d, 0x86, 0x04, 0xba, 0x90, 0xcb, 0xb5, 0x20, 0x6f, 0x29, 0x51, 0x2d, 0x63, 0x2a, 0x8f, 0x7a, 0xfb, 0xc0, 0xdb, 0xbe, 0x16, 0x2d, 0x8b, 0x4c, 0xba, 0x96, 0xa5, 0xc9, 0xbb, 0xd3, 0xf1, 0x85, 0x1f, 0x44, 0x82, 0x1e, 0x16, 0xa4, 0x32, 0xb7, 0x81, 0xdd, 0xbc, 0xd4, 0xa2, 0xd3, 0x93, 0xf1, 0xc5, 0x28, 0xd6, 0xb1, 0xc1, 0x68, 0xe7, 0x63, 0x2a, 0xb7, 0x69, 0x01, 0x65, 0x24, 0xdc, 0x1d, 0x9c, 0x13, 0x8d, 0x39, 0x3a, 0xc6, 0xd1, 0xa2, 0xbc, 0xf2, 0x41, 0x21, 0xba, 0xc3, 0x99, 0x29, 0xfe, 0x91, 0xd3, 0x94, 0x25, 0xc5, 0x59, 0xa3, 0x44, 0xf5, 0x7a, 0x32, 0xf4, 0x90, 0x14, 0x59, 0xdf, 0x41, 0x8b, 0x2e, 0x43, 0xbd, 0x46, 0x42, 0x7d, 0x0a, 0x6d, 0xcc, 0x1d, 0x26, 0x28, 0xec, 0x8f, 0x20, 0x60, 0xb6, 0x5c, 0xdd, 0xd3, 0x24, 0x03, 0xe2, 0x2e, 0x9c, 0x4c, 0xf4, 0xec, 0x83, 0x89, 0x8a, 0xb6, 0xa2, 0xb3, 0x93, 0xd2, 0xd5, 0xb1, 0x5d, 0xb3, 0x40, 0x61, 0xbb, 0x9f, 0x12, 0xa7, 0xf4, 0x48, 0xd0, 0x11, 0x5d, 0x9d, 0x65, 0xec, 0x72, 0xb2, 0xd3, 0xee, 0x05, 0x01, 0xce, 0x67, 0x8c, 0x83, 0x59, 0xb7, 0x81, 0x30, 0x19, 0xf4, 0x80, 0x98, 0x0e, 0x37, 0x00, 0x22, 0xd5, 0xad, 0xef, 0x24, 0xd9, 0x27, 0xd7, 0xca, 0x4f, 0x1d, 0x7e, 0xcf, 0x19, 0xcf, 0x08, 0x94, 0x0d, 0xfa, 0x10, 0xda, 0x42, 0x32, 0xd2, 0x66, 0x4c, 0x1f, 0x4e, 0x5e, 0x9f, 0xda, 0xdd, 0x92, 0xdd, 0x41, 0x0a, 0xad, 0x5d, 0x2b, 0x95, 0xb5, 0x28, 0xdb, 0xc4, 0x99, 0x04, 0x41, 0x9f, 0x75, 0x91, 0xff, 0x1d, 0xa9, 0x56, 0xd0, 0x5d, 0xe7, 0x39, 0xe0, 0xbc, 0x52, 0xb8, 0xce, 0x55, 0x92, 0x6d, 0xd7, 0xb6, 0x93, 0x5d, 0x3e, 0xb3, 0xe5, 0x1f, 0x1c, 0xe3, 0x8b, 0xe6, 0x1f, 0x6f, 0x44, 0x4e, 0x39, 0x68, 0xc3, 0x9b, 0x02, 0xe5, 0x58, 0xc0, 0xc8, 0x8c, 0x40, 0xda, 0x43, 0xf9, 0x62, 0xa0, 0x5c, 0x40, 0x37, 0x73, 0xd9, 0x75, 0x6d, 0x90, 0x9d, 0xb2, 0x92, 0xa2, 0xc7, 0x9d, 0x37, 0xef, 0xcf, 0xde, 0x0e, 0x2f, 0xce, 0xd0, 0xea, 0x1e, 0xe6, 0xdc, 0x62, 0x43, 0x8a, 0x48, 0x6d, 0xfb, 0xa4, 0x3a, 0x94, 0x12, 0xf1, 0xb5, 0xed, 0xd4, 0xbb, 0x52, 0xe8, 0xc3, 0x22, 0x05, 0xd3, 0xd3, 0xb7, 0x82, 0xf6, 0x25, 0x05, 0x6b, 0x22, 0x29, 0x5a, 0xa4, 0x92, 0xdf, 0x71, 0xea, 0xc5, 0xb1, 0x38, 0xa5, 0x43, 0x38, 0xf7, 0x64, 0x5d, 0xdf, 0x25, 0x52, 0x5b, 0x4a, 0x98, 0x85, 0xb0, 0xa5, 0xc2, 0xe8, 0x80, 0xed, 0xbd, 0x6d, 0x91, 0x8a, 0xa8, 0xea, 0x8e, 0xcb, 0xba, 0x9a, 0xd2, 0x5c, 0xdf, 0xb4, 0xaa, 0xca, 0x1b, 0x15, 0x5c, 0x52, 0xfb, 0x6d, 0xa6, 0x4e, 0x87, 0x54, 0xdd, 0xf5, 0xa2, 0xbb, 0x08, 0x60, 0x99, 0x76, 0x0e, 0xdf, 0xa8, 0xfe, 0x3d, 0x6e, 0x63, 0x6e, 0x68, 0x06, 0xf8, 0xb0, 0xa9, 0xd6, 0x54, 0x52, 0x1a, 0x77, 0x3b, 0x9f, 0x12, 0x9b, 0x6c, 0xa7, 0x8c, 0x0f, 0x04, 0x51, 0x91, 0x00, 0x78, 0xd0, 0xeb, 0xcd, 0xfa, 0x25, 0xe1, 0x9f, 0xe0, 0x98, 0xe2, 0x1f, 0x82, 0x1b, 0x2c, 0x50, 0xcb, 0xa4, 0xd1, 0x53, 0x1b, 0x57, 0xa4, 0x8d, 0xbb, 0x5c, 0xbc, 0xbc, 0xe1, 0xfe, 0x9b, 0x9a, 0x84, 0x03, 0x30, 0x35, 0x30, 0x03, 0xfa, 0x69, 0xa0, 0x4b, 0x2a, 0x4a, 0x52, 0x4e, 0x08, 0x15, 0xb3, 0xf5, 0x14, 0xc7, 0x44, 0x11, 0x3f, 0x6a, 0xef, 0x39, 0x61, 0xdc, 0x56, 0x05, 0x79, 0xa0, 0xa1, 0x5d, 0xba, 0x3c, 0x3b, 0x70, 0xba, 0x5a, 0x56, 0xc2, 0x8f, 0xb9, 0x9e, 0x65, 0xa4, 0x4c, 0x52, 0xee, 0x6b, 0xc6, 0x8a, 0x65, 0xd5, 0xb5, 0x39, 0x29, 0xaa, 0xa4, 0x3d, 0x93, 0x43, 0x76, 0x45, 0xa0, 0xf9, 0x80, 0x0b, 0x97, 0xa0, 0x3f, 0x21, 0x5b, 0x12, 0x01, 0x23, 0xe8, 0xfe, 0xe7, 0xb4, 0x36, 0x7c, 0xa9, 0x3d, 0xde, 0xee, 0x06, 0xf7, 0xf4, 0x5a, 0x0b, 0x2b, 0xbc, 0xd3, 0x6b, 0x1d, 0x48, 0xfc, 0xe4, 0x4e, 0x5a, 0x18, 0x17, 0x9c, 0x9a, 0xe1, 0xed, 0xb8, 0xb0, 0x28, 0x00, 0x2f, 0x22, 0x57, 0x3d, 0x45, 0xb7, 0xeb, 0xeb, 0x18, 0x73, 0x4a, 0x6d, 0x3f, 0xc7, 0x26, 0xd1, 0x8f, 0x26, 0x3b, 0x5a, 0xf9, 0x69, 0x2b, 0x91, 0x4e, 0xe5, 0x57, 0xcf, 0x6d, 0x69, 0x2a, 0xf1, 0xb4, 0xce, 0x70, 0x47, 0xdf, 0x7f, 0xdf, 0xee, 0xbf, 0xbc, 0xdb, 0x07, 0x86, 0x21, 0x35, 0x29, 0x33, 0xe6, 0x7d, 0x3a, 0xe1, 0xa0, 0xae, 0x4e, 0xc9, 0x8e, 0x42, 0x0c, 0xc8, 0xe2, 0x67, 0x07, 0x8c, 0x78, 0x8a, 0x8c, 0x09, 0x78, 0xa5, 0xc5, 0x56, 0xad, 0x14, 0x0e, 0xc0, 0x64, 0x9c, 0x44, 0x72, 0x16, 0xc1, 0x70, 0x35, 0xf7, 0x82, 0x63, 0x2a, 0xc8, 0x49, 0xf7, 0xb7, 0xab, 0x76, 0xce, 0x99, 0x2b, 0x8a, 0x2d, 0x08, 0x50, 0xf3, 0xe6, 0x26, 0xd1, 0x16, 0x38, 0xd3, 0x96, 0x5e, 0x42, 0xde, 0x73, 0x5b, 0x09, 0x4a, 0x8b, 0x9d, 0x56, 0x99, 0x78, 0x1b, 0xb4, 0x09, 0x50, 0x10, 0x45, 0x26, 0xd0, 0x1e, 0xbe, 0x3c, 0x70, 0xaa, 0xa6, 0xde, 0x7d, 0x71, 0x78, 0x8b, 0x9d, 0x13, 0x93, 0x32, 0x8c, 0x50, 0x7b, 0xbf, 0x29, 0x01, 0xb1, 0x89, 0xde, 0x4b, 0x80, 0x8d, 0x2b, 0xd9, 0xb1, 0x25, 0xed, 0x83, 0x59, 0xde, 0xfc, 0x41, 0x6f, 0xee, 0xc8, 0x0f, 0x5e, 0x12, 0x15, 0xc4, 0x42, 0xa0, 0xca, 0x4c, 0xe8, 0x5c, 0x08, 0xdb, 0x97, 0x72, 0xe1, 0xb4, 0x25, 0x19, 0x79, 0x8a, 0x35, 0x46, 0xce, 0xea, 0x34, 0x90, 0x28, 0x96, 0x30, 0x5e, 0x42, 0xa0, 0x69, 0x77, 0x65, 0x29, 0x87, 0x07, 0x4e, 0x4f, 0x87, 0x4b, 0xc7, 0xce, 0x2d, 0x63, 0x94, 0x0e, 0xf1, 0x58, 0xdd, 0x97, 0x6e, 0x22, 0xc8, 0xe3, 0xc8, 0x81, 0xe3, 0xf6, 0x29, 0xfe, 0x9e, 0xa9, 0x9b, 0xcc, 0xa2, 0x9e, 0x48, 0xa1, 0x99, 0xf4, 0xe1, 0xf8, 0xea, 0xf8, 0xa2, 0x7b, 0xb5, 0xfc, 0xc8, 0x21, 0x30, 0x46, 0xcc, 0xbf, 0xcf, 0x3f, 0x5c, 0xec, 0xa2, 0x39, 0x99, 0x02, 0x06, 0x37, 0xad, 0xa6, 0x33, 0xb6, 0x7e, 0x35, 0x2c, 0xc5, 0x61, 0x54, 0x0f, 0xe1, 0x53, 0x92, 0x0c, 0x24, 0x37, 0x83, 0x7c, 0x2c, 0x47, 0xfb, 0x07, 0xc6, 0x8e, 0xda, 0x3f, 0x44, 0xc3, 0xe9, 0xa3, 0xfd, 0x23, 0x0b, 0x84, 0xa0, 0x4f, 0x85, 0x6d, 0x2a, 0xf8, 0x45, 0xb8, 0x4c, 0x40, 0xf7, 0x47, 0xb7, 0xb7, 0xf8, 0x71, 0xbb, 0xbc, 0x62, 0x68, 0x4b, 0x12, 0xfd, 0x69, 0x46, 0xe5, 0xbe, 0xb7, 0xdf, 0x88, 0xec, 0xad, 0x0b, 0x2e, 0x00, 0x46, 0x43, 0x6f, 0xc2, 0x0d, 0x19, 0xf5, 0x77, 0xb7, 0xf2, 0x5a, 0xf5, 0x09, 0x3a, 0x9a, 0xdf, 0x9e, 0xce, 0x10, 0x8b, 0x8f, 0x38, 0x23, 0x28, 0x24, 0x01, 0x6b, 0xa6, 0x67, 0x04, 0xaf, 0xc9, 0xec, 0xc1, 0xad, 0xdb, 0x21, 0xdb, 0x32, 0x55, 0x18, 0x80, 0x11, 0x74, 0xc2, 0x8e, 0x6c, 0x31, 0x4d, 0xc4, 0x09, 0x41, 0xfc, 0xef, 0x39, 0xa5, 0x89, 0x98, 0x3b, 0x81, 0xfd, 0xd5, 0xbf, 0x6a, 0x1e, 0x1f, 0xff, 0xeb, 0xa8, 0x2d, 0x29, 0xc9, 0x3d, 0xac, 0x83, 0xbe, 0x90, 0xbf, 0x04, 0xbe, 0x4a, 0xf4, 0x19, 0x86, 0x6e, 0x8c, 0x0e, 0x31, 0xbb, 0x2d, 0xff, 0x09, 0xc6, 0xb0, 0x13, 0x13, 0x2d, 0x45, 0x3a, 0xb8, 0x33, 0x8b, 0xee, 0xd2, 0x46, 0x4b, 0x3e, 0x8c, 0xfa, 0x1a, 0x00, 0xaa, 0x26, 0x18, 0x8c, 0xaf, 0x09, 0x16, 0x16, 0x31, 0xc0, 0x53, 0x89, 0xcb, 0x55, 0xec, 0xee, 0xd6, 0x0a, 0xfe, 0x40, 0xc2, 0xd5, 0x3a, 0xdb, 0x65, 0x8e, 0x9d, 0xe9, 0x24, 0x2f, 0x1b, 0xf4, 0x83, 0x86, 0x1f, 0x2c, 0x34, 0x51, 0x69, 0x2b, 0x06, 0xbc, 0x15, 0xe8, 0xb3, 0x4e, 0x0d, 0x73, 0x34, 0x05, 0xb3, 0x35, 0x53, 0x0e, 0x84, 0x2c, 0xfd, 0x44, 0x8d, 0x58, 0x86, 0xed, 0x44, 0x93, 0xf7, 0x92, 0xce, 0x42, 0xcd, 0x3d, 0x24, 0xd1, 0x4a, 0x6a, 0xbf, 0x74, 0x83, 0x7e, 0x34, 0xc0, 0xdf, 0x1e, 0xef, 0x3f, 0xe3, 0x13, 0x3d, 0x39, 0xbe, 0x78, 0xd3, 0x75, 0xe6, 0x55, 0x86, 0xa0, 0xf8, 0xbf, 0xc3, 0x2c, 0xad, 0xae, 0x8c, 0x71, 0x41, 0x50, 0x49, 0x43, 0xea, 0xbf, 0x31, 0xdc, 0xdf, 0x8f, 0xe5, 0x6d, 0xfc, 0x8a, 0xf0, 0x10, 0x47, 0x8f, 0xda, 0x21, 0x3d, 0x52, 0xe9, 0x87, 0xb4, 0xdd, 0xfd, 0x48, 0xbe, 0x6d, 0xf2, 0x4a, 0x55, 0x77, 0x96, 0xc7, 0x5b, 0x01, 0xfb, 0x2c, 0xb1, 0x90, 0xd0, 0x49, 0x17, 0x08, 0xd3, 0x33, 0xb1, 0xbb, 0xea, 0x8d, 0xcd, 0x4e, 0x32, 0x62, 0x1e, 0x32, 0xa9, 0xb9, 0xdb, 0x4d, 0xb8, 0x8f, 0x24, 0xb7, 0x7b, 0x6b, 0xc0, 0x00, 0x60, 0x41, 0x44, 0x0b, 0xe7, 0x6b, 0xa9, 0x1d, 0xac, 0x32, 0x82, 0x5c, 0x63, 0xb5, 0x4f, 0xda, 0x66, 0xdd, 0x0f, 0x1b, 0x87, 0x2d, 0xa8, 0xa6, 0x2b, 0x29, 0x22, 0xe5, 0x7f, 0x93, 0x28, 0x6e, 0xe5, 0xcf, 0x1e, 0x3e, 0x8e, 0x6c, 0x1c, 0x04, 0xf6, 0xcf, 0xdc, 0x38, 0xa7, 0x1c, 0xb1, 0xff, 0x0e, 0x06, 0xaf, 0x2d, 0x75, 0x8b, 0x64, 0x6a, 0x6b, 0x5b, 0xe7, 0x9f, 0xbc, 0x16, 0xda, 0xed, 0xd1, 0x26, 0xf0, 0x49, 0xf7, 0xd6, 0xcf, 0x5c, 0xcb, 0xc0, 0x75, 0x3e, 0x21, 0xe9, 0xb1, 0x94, 0xc6, 0x6e, 0xf0, 0x33, 0x20, 0xa0, 0xd9, 0x05, 0x86, 0xc9, 0x56, 0x19, 0x16, 0xef, 0xe7, 0x2d, 0x78, 0xc4, 0x6d, 0x6d, 0x54, 0xb2, 0x15, 0xb5, 0x20, 0xd2, 0x08, 0xd1, 0x7c, 0x45, 0x88, 0x1f, 0x75, 0xd4, 0xcf, 0x22, 0x66, 0x3e, 0xfb, 0x11, 0xb0, 0x99, 0xea, 0x92, 0x1d, 0x88, 0x18, 0x93, 0xd7, 0x75, 0x8f, 0x95, 0x67, 0x05, 0x4a, 0xe3, 0x75, 0xba, 0x20, 0x73, 0x1d, 0x63, 0xd8, 0xc3, 0x2a, 0x5d, 0x65, 0x3d, 0x0f, 0x5e, 0xf6, 0x88, 0x7f, 0x7f, 0x1e, 0x85, 0x7d, 0x9f, 0x13, 0x1e, 0x55, 0x99, 0xfd, 0xf6, 0xfd, 0x9b, 0xbf, 0xa8, 0xdd, 0xbd, 0x3b, 0xe8, 0xb1, 0x84, 0x3b, 0xd3, 0x9d, 0x64, 0x5e, 0x22, 0xa0, 0x40, 0x40, 0xb4, 0x76, 0x9d, 0xff, 0xe5, 0xb2, 0x2c, 0x83, 0xa0, 0x02, 0x92, 0x3e, 0x76, 0x28, 0xcc, 0x66, 0x9e, 0x1b, 0x8b, 0x49, 0x77, 0x34, 0x7a, 0x0c, 0x7f, 0xc8, 0x9b, 0x57, 0x8f, 0x8f, 0x0e, 0x0f, 0x8c, 0xd5, 0xba, 0xd3, 0xe1, 0x16, 0xbb, 0x9f, 0x3d, 0x68, 0xb7, 0xed, 0x79, 0x67, 0xb7, 0x2b, 0xa2, 0xbd, 0x9d, 0xe3, 0xef, 0xcf, 0xdf, 0x05, 0x6b, 0x34, 0x6b, 0x0a, 0x02, 0xa9, 0x7d, 0x6b, 0x74, 0xba, 0x40, 0x6b, 0x7c, 0xcd, 0x3f, 0x46, 0xc3, 0xea, 0x48, 0xa8, 0xf2, 0x4d, 0x95, 0x93, 0x8e, 0xbb, 0x45, 0x5b, 0xb2, 0x75, 0x5a, 0x16, 0x33, 0x23, 0xfa, 0xcf, 0x08, 0xa2, 0x2f, 0xdb, 0x32, 0xba, 0xfa, 0xbd, 0xab, 0xeb, 0xbf, 0x26, 0x6f, 0x07, 0xb8, 0x2a, 0x45, 0x98, 0xe1, 0xf2, 0x16, 0x3f, 0x04, 0x22, 0x32, 0x81, 0x9b, 0x70, 0x8d, 0xc9, 0xfa, 0x32, 0x63, 0xf7, 0x2e, 0x99, 0x66, 0xed, 0xdb, 0x76, 0x8b, 0x86, 0x44, 0xf0, 0xf8, 0xbc, 0x80, 0x43, 0xbb, 0x2f, 0x16, 0xc2, 0xdc, 0x52, 0xa3, 0x21, 0xec, 0x23, 0xda, 0x51, 0xb7, 0xfe, 0xae, 0xd7, 0xd1, 0x1d, 0xe0, 0x9d, 0x1c, 0xeb, 0x20, 0xbd, 0x2d, 0xc2, 0x73, 0xf1, 0x98, 0xb3, 0x2b, 0xf2, 0x76, 0x4a, 0x3c, 0x6e, 0x22, 0xc0, 0x20, 0x06, 0x6d, 0xec, 0xc2, 0x98, 0x0f, 0x1c, 0x19, 0x04, 0xe8, 0xb8, 0x97, 0x16, 0x6d, 0x9c, 0x57, 0x02, 0x33, 0x60, 0xeb, 0x27, 0xbb, 0x45, 0x13, 0x55, 0xa3, 0x22, 0x3e, 0x39, 0x0a, 0xe5, 0x91, 0x2c, 0x45, 0xe0, 0x5d, 0xc4, 0xcd, 0x64, 0xa1, 0xa8, 0xdf, 0x38, 0xb5, 0x77, 0x10, 0x8d, 0x43, 0xc4, 0x42, 0x52, 0x1c, 0x95, 0x10, 0xeb, 0xac, 0x13, 0x97, 0xf0, 0xe3, 0x10, 0xb8, 0x29, 0x14, 0x89, 0x90, 0x28, 0x43, 0x68, 0xa8, 0x78, 0x91, 0x89, 0xfe, 0xd0, 0xc4, 0x86, 0x60, 0x44, 0xd7, 0x04, 0xb5, 0xa1, 0x89, 0x16, 0xf1, 0x3d, 0xfe, 0x3c, 0x42, 0x7c, 0xef, 0xce, 0x2e, 0x8e, 0x9f, 0x0b, 0xc4, 0x97, 0x62, 0xe1, 0xa8, 0x99, 0xc0, 0x89, 0x69, 0xdc, 0xc8, 0x9d, 0x6b, 0x0e, 0x49, 0xc8, 0xea, 0xa9, 0x0f, 0x62, 0x57, 0x1e, 0x39, 0xe2, 0x74, 0x4d, 0xd8, 0xcb, 0xdb, 0xf4, 0x22, 0xe4, 0xa2, 0xd4, 0x5f, 0x2c, 0x03, 0xa6, 0x27, 0x3a, 0xff, 0x10, 0x19, 0x05, 0xf0, 0x19, 0x40, 0xa4, 0x60, 0x79, 0x1b, 0x90, 0x10, 0x8b, 0x32, 0x36, 0xb8, 0x6c, 0xc2, 0xe2, 0x94, 0xfa, 0xa9, 0x86, 0x4d, 0x40, 0x11, 0xa1, 0x7b, 0x23, 0x8d, 0xe4, 0x61, 0x8f, 0x58, 0x98, 0xcd, 0x4d, 0x22, 0xce, 0x05, 0x12, 0xbb, 0x97, 0x4a, 0x8c, 0x33, 0xf2, 0x02, 0xfe, 0xa9, 0x17, 0xe6, 0xaa, 0xf1, 0xee, 0x93, 0xd2, 0x89, 0xb9, 0x47, 0x6a, 0xa5, 0x91, 0x55, 0x69, 0xcd, 0x14, 0xc1, 0xb0, 0x09, 0xc3, 0xd7, 0x60, 0x81, 0x6d, 0xb7, 0x88, 0x6a, 0x69, 0x03, 0xab, 0xae, 0x21, 0x71, 0x27, 0x43, 0x59, 0x16, 0x1b, 0xe0, 0xd0, 0x16, 0x7a, 0x90, 0x58, 0x7d, 0x8c, 0x01, 0x51, 0xaa, 0x49, 0xf4, 0x4d, 0x8d, 0xe0, 0xf6, 0x2b, 0x10, 0xa0, 0xf3, 0xc1, 0x9a, 0xcd, 0x19, 0xe8, 0xc1, 0x7c, 0xe4, 0xf1, 0x7e, 0x8f, 0x2d, 0xcb, 0x2a, 0xef, 0x38, 0x6b, 0x0b, 0x5a, 0xf3, 0xc6, 0xf0, 0xc0, 0x3a, 0x61, 0x73, 0x14, 0xb7, 0x0b, 0x9a, 0xdb, 0xaf, 0x17, 0x62, 0x5a, 0x0e, 0xe4, 0x8c, 0x36, 0xe6, 0x31, 0xbe, 0xd5, 0xb0, 0x2f, 0x3d, 0x94, 0x17, 0x9a, 0xa2, 0xc6, 0x9a, 0x12, 0x47, 0xf1, 0x14, 0xb4, 0xd6, 0xdc, 0xcc, 0x92, 0xa2, 0xe7, 0x2e, 0xf8, 0x1d, 0x1a, 0x73, 0xe4, 0xa4, 0x18, 0x25, 0x89, 0x8f, 0x40, 0xa6, 0x25, 0x47, 0x72, 0x30, 0xb4, 0xeb, 0xf0, 0xb7, 0x4d, 0xa8, 0x7e, 0x3f, 0xf9, 0x5b, 0x39, 0x11, 0x27, 0x0c, 0x59, 0x8e, 0x31, 0x24, 0x9f, 0x39, 0xf2, 0xe7, 0xd7, 0x86, 0xca, 0x66, 0x6b, 0xf6, 0xab, 0xd2, 0x84, 0x24, 0x13, 0x9b, 0x5b, 0x3f, 0x53, 0xc0, 0x23, 0xb9, 0x04, 0x8e, 0x26, 0xa7, 0x82, 0x6a, 0x21, 0x7a, 0x58, 0xed, 0x7c, 0xd8, 0x45, 0x6b, 0x49, 0xa7, 0xe4, 0x0d, 0x31, 0x83, 0x0b, 0x38, 0x02, 0x03, 0xee, 0xb9, 0x84, 0xf5, 0x74, 0xda, 0xac, 0x65, 0xe3, 0xbb, 0xb3, 0x2b, 0xd5, 0x4b, 0x6a, 0xde, 0x05, 0x0c, 0x3c, 0xb2, 0x90, 0xa6, 0x86, 0xf2, 0xd2, 0xe9, 0x9d, 0xea, 0x0b, 0x4e, 0xb8, 0x0a, 0xa0, 0xa3, 0x03, 0x8d, 0x0f, 0x6b, 0x3c, 0x75, 0x12, 0x14, 0xed, 0xcc, 0xeb, 0x9e, 0x6e, 0x2d, 0xbf, 0xa8, 0x9d, 0xe2, 0xf7, 0xdc, 0x62, 0xa7, 0xb3, 0x02, 0x4f, 0xb6, 0xae, 0x7a, 0xd6, 0xa4, 0xb4, 0xcb, 0x1b, 0x8b, 0xd1, 0x9d, 0x4b, 0xc0, 0x56, 0xd6, 0x20, 0x32, 0x88, 0x7a, 0x46, 0xaa, 0xb1, 0x41, 0x1c, 0x5c, 0x1b, 0x4e, 0x9d, 0x84, 0x7a, 0xc4, 0x5b, 0xf9, 0x0a, 0xf3, 0xc3, 0x1d, 0x30, 0x2b, 0x57, 0x51, 0x4a, 0xc3, 0x3c, 0xe2, 0x8c, 0xb1, 0xe4, 0xf1, 0xe7, 0x8f, 0x1f, 0xed, 0x6a, 0xf3, 0x62, 0xcd, 0x42, 0xdc, 0x8d, 0x75, 0x00, 0xc4, 0x8d, 0x93, 0x9e, 0x0a, 0xd0, 0x6b, 0x72, 0xea, 0x91, 0xc9, 0x68, 0x1d, 0xe2, 0xd8, 0xcc, 0xb9, 0x69, 0x16, 0xb9, 0xd8, 0xd1, 0x7e, 0x8e, 0x99, 0x72, 0x90, 0x3f, 0x40, 0x1f, 0xcb, 0xf8, 0xe5, 0x1d, 0x70, 0xf8, 0xb4, 0x76, 0xcc, 0xdb, 0x55, 0x06, 0x31, 0xb4, 0x3f, 0x94, 0x34, 0x4d, 0x7d, 0xdb, 0x45, 0xf9, 0x7a, 0xb4, 0xac, 0x9c, 0xd3, 0xcf, 0xa1, 0xa9, 0x8a, 0xea, 0x71, 0x45, 0x1d, 0xd9, 0x4b, 0x4f, 0x2e, 0xb0, 0x6f, 0x84, 0x6b, 0xbb, 0x58, 0xf0, 0xc4, 0x80, 0xaa, 0x81, 0x33, 0x51, 0x73, 0x86, 0x54, 0x7b, 0x1f, 0x19, 0xfa, 0x14, 0xe0, 0x0b, 0xf2, 0xbe, 0x24, 0x48, 0xc9, 0x99, 0x30, 0xe2, 0x6e, 0x20, 0x90, 0x97, 0xda, 0x1d, 0x8a, 0x55, 0x8f, 0xb2, 0x72, 0xa5, 0xb9, 0x1c, 0xa4, 0x61, 0x71, 0x89, 0x7c, 0xe1, 0x3e, 0xe0, 0x1d, 0x75, 0x83, 0xa4, 0x8a, 0x11, 0xd2, 0x9a, 0x59, 0x6f, 0x7d, 0x8b, 0x52, 0x9b, 0x42, 0xf1, 0x74, 0xcb, 0x5a, 0xf4, 0xef, 0x96, 0x2a, 0xc3, 0x8a, 0x36, 0xfe, 0x6a, 0x67, 0x23, 0x7a, 0x66, 0x0f, 0x4b, 0x8a, 0x71, 0xf3, 0xe0, 0x4b, 0x09, 0x9b, 0xc3, 0x2e, 0x92, 0x1d, 0x4c, 0x78, 0x6f, 0x6f, 0xf7, 0xfe, 0x49, 0xcb, 0x93, 0xf7, 0x4d, 0xf2, 0x9c, 0x1d, 0x1b, 0x5e, 0x3b, 0x89, 0xb9, 0x37, 0x07, 0xfa, 0xa6, 0x07, 0x97, 0x31, 0x60, 0x8a, 0x84, 0x83, 0xb9, 0x20, 0xcc, 0xd3, 0xf4, 0x2e, 0x74, 0xe2, 0x6b, 0x56, 0x1a, 0x2f, 0xb0, 0xbd, 0x76, 0xad, 0x47, 0x06, 0x9c, 0x9f, 0xb0, 0x10, 0x4a, 0x8d, 0x02, 0xbe, 0xda, 0x4b, 0x43, 0x84, 0xa1, 0xbe, 0xe9, 0xa6, 0xe5, 0x2d, 0x0e, 0x26, 0x6e, 0x3e, 0x48, 0x3c, 0x37, 0x3b, 0xdf, 0x42, 0xf5, 0x41, 0xb0, 0x3b, 0x3e, 0x52, 0x1b, 0xa1, 0x4f, 0xdb, 0x0c, 0x4b, 0xee, 0xa4, 0x3e, 0x0a, 0x10, 0x91, 0xf9, 0x49, 0xd7, 0xcd, 0x3b, 0xd2, 0x4b, 0xc1, 0x77, 0x91, 0xca, 0x80, 0x86, 0xa3, 0x7e, 0x72, 0x6b, 0x66, 0x3c, 0x62, 0xee, 0xd8, 0x2e, 0x0d, 0xf9, 0x74, 0x30, 0x9a, 0x6e, 0xc0, 0x78, 0x31, 0x37, 0x4b, 0xdf, 0xd8, 0x31, 0x06, 0xe3, 0x99, 0xf0, 0x4f, 0x5b, 0x9b, 0x39, 0xe0, 0x3b, 0x0a, 0x18, 0x9c, 0x98, 0xae, 0x8e, 0xae, 0x89, 0x21, 0x92, 0x83, 0xdd, 0xc3, 0x8d, 0x29, 0x78, 0x36, 0x07, 0x0f, 0x7e, 0x5e, 0xc9, 0xc2, 0x0b, 0xe5, 0xac, 0xfa, 0xda, 0x74, 0xd0, 0xb6, 0xaf, 0xe1, 0x69, 0xdb, 0xd7, 0x60, 0x41, 0x29, 0xe2, 0x1a, 0x1a, 0x27, 0x5f, 0xd6, 0xc9, 0x3b, 0x7d, 0x2c, 0xd9, 0x19, 0x9f, 0xbf, 0x3b, 0xfe, 0xea, 0x6c, 0xf7, 0x3e, 0x1f, 0x65, 0x9b, 0xff, 0xdb, 0x75, 0xa5, 0x9a, 0x25, 0x2c, 0xd3, 0x87, 0x75, 0xf2, 0xd5, 0x78, 0x3c, 0x7c, 0x79, 0x7e, 0x82, 0x2e, 0x97, 0x63, 0xf3, 0x67, 0x0f, 0x16, 0xfb, 0x08, 0xad, 0x00, 0x86, 0xdf, 0x4a, 0xed, 0x68, 0xad, 0x49, 0x82, 0xf0, 0x00, 0xd2, 0x61, 0x0a, 0x7a, 0x22, 0xef, 0x91, 0x85, 0xf6, 0xc0, 0xf0, 0x5d, 0x93, 0xe7, 0xfc, 0x64, 0x0f, 0x9f, 0xa2, 0x4f, 0x62, 0x41, 0x3d, 0xee, 0x83, 0x75, 0xd8, 0xe0, 0x92, 0x34, 0x1f, 0xa4, 0x98, 0x82, 0x41, 0x6b, 0x32, 0xb8, 0xb1, 0xfc, 0x48, 0x9c, 0xb8, 0x80, 0x5d, 0xbc, 0xf4, 0x86, 0x5c, 0x61, 0x54, 0x5b, 0xa1, 0xa0, 0xa9, 0x1d, 0xd7, 0x1b, 0x4c, 0x34, 0x86, 0xc6, 0x5b, 0x10, 0xfc, 0xc8, 0x58, 0xa3, 0xab, 0x5d, 0xa7, 0xc8, 0xf6, 0x70, 0x9d, 0x24, 0xcf, 0xb7, 0xa5, 0x71, 0x7c, 0x51, 0xae, 0x2f, 0xaf, 0xd8, 0xc0, 0x6a, 0xfb, 0x21, 0xc0, 0xcb, 0x35, 0xfa, 0x6a, 0x7b, 0x37, 0x98, 0x49, 0x06, 0x24, 0x88, 0x77, 0x54, 0xef, 0xa9, 0x32, 0x0a, 0x0e, 0xb1, 0x7a, 0xc3, 0x49, 0x17, 0xb3, 0xdf, 0x04, 0x03, 0x7d, 0x83, 0x06, 0x32, 0xe1, 0xc0, 0x29, 0xdc, 0x68, 0x45, 0xb3, 0x58, 0xca, 0x5f, 0xd3, 0xe2, 0x0e, 0xee, 0x52, 0xf1, 0xdf, 0xa3, 0xfe, 0xd3, 0xd2, 0x74, 0x9b, 0xd0, 0x9b, 0x6a, 0x0a, 0x43, 0x9f, 0x53, 0x50, 0xb9, 0xf0, 0x73, 0x13, 0xcd, 0xa2, 0xa7, 0xfd, 0xd2, 0x88, 0x69, 0x98, 0x76, 0xc3, 0x62, 0xa0, 0xa3, 0x0c, 0x8c, 0x39, 0x2c, 0x61, 0x32, 0x51, 0x84, 0x85, 0x08, 0x22, 0xac, 0x08, 0x2d, 0x20, 0x77, 0xd2, 0x49, 0x5d, 0x2e, 0xd6, 0x0d, 0x74, 0x01, 0x72, 0x8a, 0x52, 0x71, 0xcd, 0x2e, 0x48, 0x57, 0xc2, 0x97, 0x66, 0xd4, 0xc4, 0x4b, 0x40, 0x4d, 0x62, 0x75, 0x00, 0xae, 0x3d, 0xe9, 0xc8, 0x85, 0x00, 0x38, 0x8a, 0x28, 0xfe, 0x09, 0xda, 0x59, 0x1e, 0x0b, 0x43, 0xad, 0x90, 0x96, 0x74, 0xad, 0x60, 0x6f, 0xe1, 0xf9, 0xe9, 0x59, 0xb5, 0x76, 0x47, 0xbd, 0xeb, 0xc4, 0xba, 0x5b, 0x89, 0xea, 0x4e, 0x6b, 0x8c, 0x71, 0xb6, 0xde, 0x4c, 0x65, 0xcd, 0x16, 0x98, 0xd0, 0x2d, 0x99, 0xdc, 0xd9, 0x8f, 0xf1, 0x77, 0x52, 0xe4, 0xf2, 0x58, 0x45, 0xf8, 0xa1, 0xd0, 0x4a, 0xee, 0x30, 0x46, 0x9b, 0x92, 0x51, 0xda, 0x5f, 0xea, 0x0c, 0xfd, 0x6d, 0xc6, 0x79, 0x67, 0x7c, 0xc4, 0x38, 0x8d, 0xd6, 0x21, 0xb3, 0x96, 0xdf, 0x6d, 0x6a, 0x47, 0x1b, 0x31, 0xc2, 0x13, 0x01, 0x01, 0x53, 0x28, 0xdd, 0xae, 0x4a, 0xd5, 0x23, 0xf2, 0xb7, 0xa5, 0xdc, 0x4e, 0x93, 0x5f, 0xf6, 0xbe, 0x61, 0x4b, 0x81, 0xca, 0xcd, 0x1d, 0x6f, 0xdd, 0xe9, 0x8c, 0x1e, 0xb0, 0x21, 0x6e, 0xfd, 0xee, 0x87, 0x81, 0x65, 0x67, 0xe3, 0xc5, 0x35, 0x20, 0x29, 0xed, 0xa2, 0x0c, 0xe7, 0xff, 0x28, 0x7f, 0xa1, 0x3b, 0xf0, 0x5d, 0x5e, 0x18, 0xcd, 0xb0, 0xde, 0x55, 0xe2, 0xcc, 0x8b, 0x18, 0x8c, 0x02, 0xf1, 0x8e, 0xed, 0xda, 0x58, 0x62, 0x86, 0xe3, 0xb8, 0x44, 0x3d, 0x52, 0x9c, 0x39, 0x60, 0x13, 0xb0, 0x22, 0xaf, 0xb1, 0xe9, 0xdd, 0x2a, 0xa8, 0x9f, 0x99, 0x5a, 0xa6, 0x83, 0x31, 0x00, 0x5e, 0x6c, 0xcc, 0x82, 0x22, 0xbf, 0x1d, 0xd9, 0xe0, 0xbe, 0x45, 0x5f, 0xf3, 0x83, 0x9b, 0x86, 0x11, 0x46, 0x7a, 0xda, 0x83, 0xb3, 0x75, 0x43, 0x58, 0xb4, 0xbb, 0x58, 0xe7, 0xce, 0xe3, 0xdd, 0x64, 0xde, 0xac, 0x76, 0x0e, 0x76, 0x19, 0xc3, 0x5e, 0x7a, 0xa9, 0x97, 0x4e, 0xdc, 0x87, 0x5e, 0x1c, 0xca, 0x2d, 0x4c, 0x5e, 0xd9, 0xcf, 0x22, 0xb8, 0x49, 0x70, 0x6e, 0xa8, 0xe2, 0x9b, 0xcb, 0x0d, 0xe6, 0x0d, 0xb3, 0x0d, 0x98, 0x91, 0xc6, 0x1c, 0xd9, 0x3b, 0xae, 0xc5, 0x5f, 0x11, 0xb2, 0x2b, 0x2a, 0x1b, 0x8d, 0x05, 0xe1, 0xba, 0xe0, 0x4a, 0x2f, 0x30, 0x29, 0x7d, 0x36, 0x3b, 0xb7, 0x98, 0x0d, 0x89, 0x87, 0x5c, 0x56, 0xa5, 0x11, 0x91, 0x55, 0x04, 0xff, 0x52, 0x6c, 0x8a, 0x0b, 0x54, 0xdf, 0x5c, 0xe7, 0x55, 0x59, 0x00, 0x62, 0xf4, 0x3a, 0xad, 0x72, 0x84, 0xf9, 0xb7, 0xbe, 0x3e, 0x7b, 0x7b, 0xbc, 0xe5, 0x3b, 0x45, 0xe6, 0xb9, 0xf8, 0xd1, 0x71, 0x7e, 0x5d, 0x2f, 0xb5, 0x9e, 0x66, 0xcc, 0x69, 0x68, 0x44, 0xfa, 0x94, 0xd5, 0x3e, 0x00, 0x31, 0x00, 0x2a, 0x2e, 0xb3, 0x11, 0x72, 0xa3, 0x4a, 0x4a, 0x12, 0x80, 0xf4, 0x55, 0x54, 0x0a, 0x43, 0x12, 0x50, 0xac, 0xfb, 0x8d, 0x9a, 0x86, 0xe8, 0x80, 0x53, 0xfa, 0x9d, 0xfd, 0x12, 0xaf, 0xfb, 0x1f, 0xa9, 0xf9, 0xda, 0x16, 0xc5, 0xb9, 0xd8, 0xbb, 0xe2, 0x71, 0x79, 0x47, 0x96, 0xcd, 0x76, 0x5b, 0x00, 0x6e, 0xd7, 0x64, 0x8c, 0x37, 0xdb, 0xba, 0xbd, 0x48, 0x17, 0x75, 0x3c, 0x3e, 0xec, 0xb8, 0xdc, 0xf3, 0x75, 0xa6, 0x6a, 0xfe, 0x84, 0x1b, 0x9d, 0x07, 0x77, 0xb7, 0xef, 0x39, 0xdf, 0xbe, 0xdb, 0xe6, 0x5e, 0x7c, 0xa4, 0xd4, 0x15, 0x88, 0xb5, 0x9b, 0x35, 0xb7, 0xa3, 0xf4, 0xd4, 0x63, 0x22, 0xf4, 0x2a, 0x9a, 0xcf, 0x97, 0x53, 0x86, 0x15, 0xb3, 0x71, 0xd5, 0x0e, 0xe0, 0xb3, 0x6a, 0x49, 0x85, 0xd7, 0xb6, 0x15, 0xa3, 0xf5, 0x02, 0x8e, 0x1a, 0xc1, 0x8d, 0x34, 0x2a, 0xc5, 0x5d, 0xcc, 0x2b, 0xc2, 0xf0, 0x71, 0x51, 0x64, 0xf9, 0xd2, 0xc0, 0xaf, 0xa6, 0xee, 0x83, 0x20, 0x76, 0xc9, 0x28, 0x56, 0x2f, 0x61, 0x0c, 0x5e, 0x46, 0x71, 0xb5, 0xf8, 0x6f, 0x8a, 0x64, 0x1b, 0xea, 0xc7, 0x76, 0x27, 0xd5, 0xb1, 0x8d, 0x8a, 0x25, 0xf3, 0x37, 0x36, 0x67, 0x6c, 0xc4, 0x9f, 0x51, 0x3a, 0xa0, 0x70, 0x50, 0xfb, 0x91, 0x14, 0x59, 0x36, 0x59, 0x1c, 0xb4, 0xcd, 0xde, 0x47, 0xb3, 0x34, 0x69, 0xa4, 0x50, 0xaf, 0xab, 0x6b, 0x54, 0xbd, 0x4a, 0xff, 0x2d, 0x4e, 0x0d, 0x76, 0xe7, 0x21, 0xe7, 0x10, 0x91, 0xf2, 0xde, 0x0c, 0x29, 0x6d, 0xb3, 0x12, 0x64, 0xac, 0xe4, 0x2b, 0x9e, 0x85, 0x9d, 0xa0, 0xb5, 0x74, 0x08, 0x00, 0x85, 0xb5, 0xd8, 0x20, 0x49, 0xbf, 0xac, 0x81, 0x9b, 0xdb, 0x54, 0xe9, 0xd4, 0xfd, 0x65, 0x98, 0xd6, 0xd3, 0x3c, 0xd7, 0x7e, 0x4e, 0x14, 0x1f, 0xcc, 0x28, 0x1d, 0x36, 0x8a, 0x8f, 0xe3, 0xce, 0xc3, 0x76, 0x52, 0x99, 0x95, 0xec, 0xde, 0xe5, 0x9c, 0x93, 0x94, 0x5b, 0xfd, 0x51, 0x06, 0x0b, 0x4a, 0xe3, 0x24, 0x78, 0x18, 0x6b, 0x71, 0xa5, 0x95, 0x36, 0x3d, 0xa6, 0xad, 0xb1, 0xbe, 0x0f, 0x7c, 0xf3, 0x5b, 0x37, 0x61, 0x48, 0x28, 0x55, 0x75, 0xc3, 0xa6, 0xe4, 0xcd, 0xcd, 0xa1, 0xff, 0xcc, 0xa6, 0x68, 0x78, 0x07, 0x14, 0xa9, 0x28, 0x87, 0xe9, 0x62, 0x15, 0x4d, 0x71, 0x1b, 0xef, 0xb6, 0x1a, 0x5e, 0xbe, 0x3c, 0x3d, 0x7f, 0x07, 0xbc, 0x3c, 0x42, 0x4e, 0x2f, 0x6a, 0xce, 0x52, 0xa0, 0x9f, 0x51, 0x02, 0x7b, 0xc1, 0xb0, 0x92, 0x48, 0x1a, 0x99, 0x85, 0xe5, 0xd5, 0x68, 0x0e, 0x01, 0xf3, 0x21, 0x66, 0x5f, 0x71, 0x7a, 0x5b, 0x91, 0x78, 0x05, 0x8e, 0xcc, 0xe0, 0xd5, 0xbe, 0xe8, 0x2e, 0xc7, 0x7c, 0xd5, 0x7d, 0x5b, 0xbb, 0x2c, 0xd8, 0x42, 0xa4, 0xf6, 0xbb, 0x16, 0x30, 0xb0, 0x4c, 0x04, 0x1e, 0x30, 0xe0, 0xe7, 0x4d, 0x66, 0xb1, 0x09, 0xc5, 0xae, 0xb3, 0x58, 0xa8, 0xda, 0xc1, 0x8a, 0x93, 0x34, 0x00, 0x5c, 0xa1, 0xf5, 0xf1, 0xf5, 0x66, 0x44, 0x03, 0xb3, 0xb1, 0xc5, 0xaa, 0xe8, 0xe2, 0x6d, 0xc9, 0x76, 0x47, 0x8d, 0xd0, 0x00, 0xfc, 0x6d, 0x63, 0x5d, 0x98, 0x4e, 0x95, 0x1a, 0x67, 0x6d, 0x38, 0xe0, 0x77, 0x03, 0xfe, 0xea, 0x64, 0x4d, 0x1c, 0xa2, 0xf3, 0x05, 0x39, 0x5e, 0x56, 0x9a, 0xf8, 0x09, 0xfa, 0x9e, 0xb8, 0xbf, 0x18, 0x49, 0x89, 0x6a, 0x38, 0xb3, 0x74, 0x69, 0xd4, 0x82, 0x42, 0x0b, 0x05, 0xc8, 0xf3, 0x4b, 0xf9, 0x9c, 0xdd, 0x09, 0xaf, 0x53, 0xe1, 0x58, 0x0a, 0x67, 0x0f, 0x2e, 0xd0, 0xa9, 0x1f, 0xe0, 0xcf, 0x10, 0x27, 0xf5, 0x87, 0x8f, 0xd5, 0x84, 0xe1, 0x75, 0x8b, 0x7b, 0x20, 0x71, 0x1b, 0x6d, 0xfd, 0xc9, 0xc0, 0xe1, 0x3c, 0x84, 0xed, 0xfe, 0x4d, 0x9d, 0xab, 0xae, 0xd6, 0xc5, 0x27, 0x33, 0x85, 0xb0, 0x1c, 0x5a, 0x93, 0x7d, 0xa9, 0xf9, 0x05, 0xb7, 0xcc, 0xa5, 0xbf, 0x70, 0xff, 0x65, 0x3b, 0x02, 0x61, 0x96, 0x5f, 0x93, 0x23, 0x4f, 0x40, 0xbc, 0x3d, 0xe5, 0x34, 0x36, 0xbb, 0x99, 0xbd, 0x1f, 0x66, 0x56, 0x76, 0x03, 0xa3, 0xe9, 0xec, 0x7a, 0xd2, 0xae, 0xd9, 0xbc, 0xa1, 0x46, 0x4f, 0xa4, 0x48, 0x14, 0x5b, 0x01, 0xa4, 0x50, 0x91, 0xa4, 0xa9, 0x5e, 0x01, 0x3b, 0x5c, 0x83, 0xec, 0xc9, 0x64, 0xc3, 0x37, 0x81, 0xdd, 0xe2, 0x75, 0x9f, 0x8a, 0xcc, 0xa4, 0x5d, 0x9b, 0xdf, 0x47, 0x07, 0xac, 0xa4, 0xc0, 0x91, 0x65, 0x88, 0xc0, 0x95, 0xf2, 0x4b, 0x26, 0x8a, 0xd5, 0xd9, 0xa8, 0x2f, 0xac, 0xdf, 0x98, 0x32, 0xc2, 0xb7, 0x5c, 0x29, 0x57, 0x56, 0x58, 0x22, 0x5b, 0x46, 0x81, 0x67, 0x7f, 0xf5, 0x5d, 0x72, 0x0b, 0xf1, 0x36, 0xca, 0xfe, 0xb0, 0xb3, 0x49, 0xc5, 0x83, 0xb8, 0xe1, 0xbb, 0x90, 0x19, 0xbe, 0x6b, 0xf3, 0x42, 0xb7, 0xd2, 0xa0, 0x8e, 0x3a, 0x72, 0xa3, 0xef, 0xe5, 0x81, 0x34, 0x3c, 0x25, 0xd8, 0x9f, 0xbf, 0x0b, 0xab, 0xbc, 0xc5, 0xfd, 0x37, 0x41, 0x7d, 0xf6, 0x7d, 0x5c, 0xd0, 0x9a, 0xee, 0xf2, 0xb3, 0x1e, 0xd7, 0xd6, 0xcf, 0x67, 0x81, 0x6a, 0x51, 0x09, 0xab, 0x0b, 0x39, 0x60, 0x11, 0x30, 0x40, 0xa1, 0xbb, 0x5f, 0x87, 0x05, 0xd2, 0x27, 0x8d, 0x95, 0x7d, 0x49, 0x59, 0x29, 0xe4, 0x06, 0x0c, 0xd8, 0xe0, 0x99, 0xf5, 0x1b, 0x71, 0xad, 0x8d, 0xed, 0xb2, 0xa6, 0x6f, 0x25, 0x78, 0x4b, 0xd9, 0x8d, 0xe2, 0xe4, 0x2e, 0xd7, 0x88, 0xa6, 0x05, 0x29, 0x90, 0x8e, 0xf2, 0x53, 0x46, 0xf9, 0xa0, 0x3a, 0xf7, 0xb4, 0x2a, 0x38, 0x3f, 0x66, 0xe6, 0xe7, 0xe1, 0x19, 0x66, 0x6a, 0xaf, 0x16, 0x43, 0xce, 0x0d, 0xeb, 0xd0, 0x6f, 0x54, 0xe7, 0xa8, 0x87, 0x8d, 0x9a, 0xb0, 0xae, 0xa3, 0x9a, 0xd6, 0x0b, 0x6d, 0xb8, 0x37, 0xfe, 0xb5, 0x11, 0xef, 0x46, 0xff, 0xa5, 0x69, 0x6f, 0x19, 0xdf, 0x1c, 0x4b, 0xfe, 0x9d, 0x9d, 0x01, 0x4c, 0xc1, 0x03, 0xb1, 0xe8, 0x98, 0x20, 0xea, 0x81, 0x5d, 0x58, 0x1b, 0xb4, 0xf1, 0x69, 0x70, 0x76, 0x42, 0x6c, 0xf9, 0x2c, 0x8a, 0xbe, 0xa1, 0x97, 0x52, 0x1a, 0xfa, 0x4a, 0xac, 0x89, 0xae, 0x91, 0xc2, 0xfe, 0x9c, 0xbc, 0x36, 0x0b, 0x25, 0x2b, 0x83, 0xda, 0xbb, 0xff, 0x19, 0x0a, 0x4a, 0xec, 0x5a, 0xa2, 0x3b, 0x80, 0x8d, 0xc7, 0xc3, 0x37, 0x43, 0xd8, 0xa6, 0x3e, 0x26, 0x1b, 0x81, 0x34, 0x8e, 0x3c, 0x3e, 0xc5, 0xb9, 0x12, 0xd2, 0x3d, 0x28, 0xee, 0x4a, 0x22, 0x53, 0x00, 0x75, 0xd2, 0x57, 0x6b, 0x43, 0xa9, 0xa4, 0xa6, 0x70, 0xb7, 0x2f, 0xce, 0xab, 0x2d, 0xc9, 0x3c, 0x00, 0xbb, 0xa5, 0x09, 0x7b, 0x33, 0x0e, 0xa8, 0x80, 0x03, 0x10, 0x75, 0x66, 0x58, 0x28, 0xd7, 0x78, 0x4d, 0xaa, 0xf2, 0x53, 0xc6, 0xfc, 0x02, 0x46, 0x21, 0x50, 0xb3, 0x58, 0x07, 0x16, 0x3f, 0xba, 0x91, 0x50, 0xdc, 0xd0, 0x83, 0x72, 0x4d, 0x82, 0x80, 0x39, 0x77, 0x17, 0x15, 0xb8, 0x0d, 0x27, 0xc7, 0x72, 0xbc, 0x0e, 0xa0, 0x0b, 0xed, 0xc1, 0xc1, 0x57, 0x6d, 0x4a, 0x20, 0x7d, 0xbf, 0x21, 0xcf, 0xb6, 0xa7, 0xee, 0xf3, 0xec, 0xc8, 0x91, 0x3e, 0xbc, 0x69, 0xa8, 0xa1, 0x25, 0x38, 0x2f, 0x93, 0x17, 0xcc, 0x10, 0x6e, 0xef, 0x50, 0x02, 0xda, 0xf5, 0x50, 0xa2, 0xf9, 0xed, 0x50, 0xad, 0xc5, 0x99, 0xad, 0x1d, 0x9c, 0x4b, 0x4d, 0x0d, 0xd7, 0xa4, 0xcc, 0x1c, 0x74, 0xaf, 0xb4, 0xbf, 0x00, 0xd4, 0x48, 0x08, 0x86, 0x4b, 0x2e, 0x4e, 0xeb, 0x7a, 0xe3, 0xf2, 0x65, 0x98, 0x4f, 0x74, 0x3a, 0xc0, 0x5b, 0xca, 0x6b, 0x67, 0x1f, 0xfc, 0x57, 0xca, 0xe0, 0x36, 0xc6, 0x48, 0x43, 0x29, 0x7c, 0xfc, 0xa5, 0xc0, 0x5c, 0xe0, 0x46, 0x90, 0xb6, 0xc6, 0x87, 0x0b, 0xf4, 0x2d, 0x9e, 0x10, 0x41, 0xc7, 0xfb, 0x5a, 0x1d, 0x77, 0xe6, 0x48, 0x8e, 0xc9, 0xd2, 0x8c, 0x18, 0xf1, 0x8a, 0x9e, 0x82, 0x35, 0xe6, 0x82, 0xea, 0xcf, 0xd9, 0x76, 0xe2, 0x11, 0x49, 0x35, 0x8d, 0x4e, 0x71, 0x49, 0x2d, 0xcc, 0x61, 0xc4, 0xd3, 0x42, 0x33, 0x92, 0x64, 0x35, 0x6d, 0x56, 0xab, 0x3f, 0xb2, 0x3d, 0x20, 0x5b, 0xb9, 0x4e, 0xb0, 0x2e, 0x61, 0xd6, 0xdc, 0x44, 0xda, 0x38, 0x62, 0x36, 0x89, 0x7b, 0x68, 0xe0, 0xfd, 0xfd, 0xf9, 0xe7, 0xfb, 0x03, 0x31, 0x47, 0x29, 0x40, 0xe9, 0x3f, 0x03, 0x40, 0xe1, 0x88, 0x06, 0x48, 0xcf, 0x99, 0x9f, 0xda, 0x47, 0x7b, 0xd0, 0xf3, 0x29, 0x55, 0xe9, 0x88, 0xf2, 0x14, 0xda, 0xce, 0x6a, 0xe7, 0x09, 0x6c, 0x7a, 0x3c, 0x3f, 0x75, 0x2c, 0x53, 0x77, 0xe6, 0x29, 0x0d, 0x72, 0x18, 0x27, 0x12, 0xe1, 0xde, 0x46, 0xaf, 0xc8, 0xa8, 0x0f, 0x89, 0x5e, 0x8b, 0xf8, 0x9d, 0x38, 0xf9, 0x50, 0xc8, 0xcd, 0xf6, 0xf0, 0x44, 0x07, 0x33, 0x26, 0x6d, 0x9c, 0xa3, 0xb9, 0x30, 0x5b, 0x68, 0x40, 0xa4, 0x53, 0x36, 0x7b, 0xbf, 0xf1, 0x9e, 0x3c, 0x1b, 0x3d, 0x6a, 0xdd, 0x93, 0x66, 0xb1, 0x1c, 0xde, 0x4c, 0xee, 0x09, 0x57, 0x5d, 0x9c, 0xbe, 0x45, 0xba, 0x8e, 0xb2, 0x1b, 0x74, 0xd1, 0xd1, 0xc8, 0x01, 0xc9, 0x2a, 0x76, 0xef, 0x12, 0xba, 0x3a, 0x26, 0x12, 0xb1, 0xe9, 0x3b, 0x91, 0x19, 0x5b, 0xed, 0x2b, 0x8e, 0x1a, 0x01, 0x2b, 0x4c, 0x68, 0x44, 0x44, 0x20, 0xa8, 0x5a, 0x7f, 0x91, 0x47, 0x8b, 0xb2, 0x34, 0x2b, 0x3a, 0xbb, 0xcd, 0xa6, 0x6b, 0xa4, 0x16, 0x90, 0x62, 0x4f, 0xf8, 0x5f, 0x9b, 0x63, 0x1e, 0x5e, 0x9c, 0x43, 0x22, 0x1b, 0xe6, 0x07, 0xdd, 0xcd, 0x70, 0xad, 0xd4, 0x64, 0xf1, 0xbc, 0xfa, 0xc0, 0xe3, 0xc9, 0xe0, 0x04, 0xf8, 0x5d, 0xfb, 0x57, 0x41, 0x78, 0x1f, 0xb5, 0x18, 0xa4, 0xcc, 0x18, 0x7a, 0xca, 0x2f, 0x0b, 0x56, 0x17, 0xdf, 0xe6, 0xd3, 0xaa, 0xac, 0xcb, 0x39, 0x67, 0x19, 0x7a, 0xa6, 0xed, 0xc9, 0xc9, 0x38, 0xb9, 0xc9, 0x26, 0x5a, 0xce, 0x3c, 0x0a, 0xfd, 0xff, 0xcc, 0x45, 0x28, 0xaa, 0x55, 0xe5, 0x59, 0x43, 0xbb, 0xa6, 0x71, 0x6c, 0xc2, 0xf7, 0x42, 0x53, 0x41, 0x41, 0xbf, 0x81, 0xed, 0x45, 0x7d, 0x59, 0x17, 0x10, 0x4d, 0xab, 0xac, 0x8c, 0xe4, 0x32, 0xf0, 0x04, 0x54, 0xac, 0x30, 0x9d, 0x40, 0xff, 0x9a, 0xa4, 0xd2, 0xf1, 0x8e, 0xbd, 0x3a, 0x86, 0xed, 0x90, 0x76, 0x29, 0xde, 0xb0, 0x4f, 0xe4, 0xe6, 0x0c, 0xea, 0x8c, 0x26, 0x19, 0xf5, 0x88, 0x25, 0x76, 0xe0, 0xb7, 0x2d, 0x43, 0x87, 0xd6, 0x59, 0x59, 0x21, 0x7f, 0xcc, 0xeb, 0x46, 0x45, 0x6d, 0x5b, 0xd7, 0x15, 0xb9, 0xf9, 0x01, 0x3d, 0x1b, 0xf2, 0xd3, 0x9b, 0xab, 0x92, 0x7b, 0xf7, 0x61, 0x9b, 0x9d, 0xce, 0x86, 0xa2, 0x2c, 0xe9, 0x77, 0x02, 0xae, 0xe0, 0xe4, 0x8d, 0x7f, 0x50, 0x51, 0x98, 0x4a, 0x39, 0x0f, 0x57, 0x0e, 0x2c, 0xf9, 0x25, 0xaf, 0xf3, 0xcb, 0x9e, 0xd6, 0xc4, 0xec, 0xf2, 0x03, 0x34, 0x87, 0x53, 0x8c, 0x30, 0x23, 0x11, 0x9a, 0x15, 0xdf, 0xd2, 0xa0, 0xe1, 0x36, 0xfd, 0x2b, 0x74, 0x9e, 0xf7, 0x50, 0xdf, 0x6f, 0x1c, 0x06, 0xb4, 0xbe, 0x0b, 0x6f, 0x2e, 0xf6, 0x0a, 0x38, 0x8d, 0xdd, 0x53, 0xd9, 0x5d, 0xe4, 0x3c, 0x00, 0x0f, 0xb9, 0x4f, 0x5f, 0x8f, 0x07, 0x59, 0x34, 0x0a, 0x19, 0xc9, 0x25, 0xf2, 0x02, 0xe9, 0xf2, 0xef, 0x19, 0x8e, 0xa7, 0x1d, 0xa5, 0xf4, 0xaf, 0x6e, 0x49, 0x3f, 0x38, 0x1c, 0x4e, 0xb2, 0x94, 0xba, 0x63, 0xbd, 0x68, 0x48, 0x61, 0xda, 0x54, 0x55, 0x14, 0x29, 0x2b, 0xfa, 0x33, 0xbf, 0x7b, 0x01, 0x5d, 0x8b, 0x8e, 0xf6, 0xec, 0xe5, 0x87, 0x8b, 0xaf, 0x93, 0xc3, 0xd1, 0xfe, 0x83, 0xaa, 0x8a, 0xc0, 0x10, 0x5a, 0x63, 0xe8, 0xe1, 0xa1, 0xc9, 0x76, 0xf1, 0xb7, 0x75, 0xd1, 0x6e, 0xbe, 0x13, 0x8b, 0xab, 0x88, 0xfe, 0xa4, 0xe2, 0x97, 0xd2, 0xbc, 0xba, 0x99, 0xf1, 0x7e, 0x7b, 0xb6, 0xe1, 0x10, 0xe6, 0x77, 0x75, 0x5f, 0x08, 0xba, 0x8e, 0x42, 0xab, 0xb4, 0x26, 0x2b, 0xc0, 0x4f, 0x1a, 0xe8, 0x46, 0x23, 0x2c, 0xb2, 0x5c, 0xf8, 0x4e, 0xd9, 0xc6, 0xca, 0xd0, 0x63, 0xdf, 0xbf, 0x79, 0xd5, 0x19, 0xee, 0xc9, 0xd3, 0xc7, 0xfb, 0xbf, 0x62, 0x82, 0x65, 0x49, 0x16, 0x84, 0x98, 0x64, 0x51, 0xc4, 0xa3, 0xef, 0x2a, 0x2a, 0x39, 0x56, 0x1f, 0x51, 0x29, 0x0f, 0xf9, 0x90, 0x08, 0x75, 0x33, 0xa3, 0x4c, 0x3b, 0x8b, 0x98, 0x52, 0xa9, 0xb6, 0xff, 0x9f, 0xff, 0x0c, 0xcd, 0xba, 0xbf, 0xfe, 0x88, 0x50, 0x0e, 0xda, 0x91, 0xda, 0x0a, 0x0d, 0x65, 0x32, 0xb5, 0x13, 0xc7, 0x74, 0x9d, 0xb7, 0x7f, 0xb7, 0x9d, 0xd8, 0xa6, 0x61, 0x62, 0x98, 0xc7, 0x7b, 0x2e, 0x68, 0xb8, 0x4f, 0x67, 0xa7, 0xc7, 0x0a, 0x48, 0xf9, 0xd4, 0xd3, 0x08, 0x74, 0x17, 0xa4, 0x95, 0xd6, 0xac, 0xaf, 0xe9, 0x9f, 0x76, 0xbf, 0x12, 0xe8, 0x35, 0x0d, 0x71, 0x50, 0x28, 0x82, 0xf3, 0xe2, 0xb0, 0x02, 0xd2, 0x45, 0x51, 0x7a, 0x9e, 0x17, 0x3d, 0x7e, 0x67, 0x49, 0xfe, 0xfa, 0x4f, 0x73, 0x02, 0x83, 0xe6, 0xa6, 0xfc, 0x67, 0xdb, 0x07, 0x6d, 0x34, 0x0c, 0x9a, 0xef, 0xc7, 0xdf, 0x1d, 0x50, 0x35, 0xd7, 0x56, 0x77, 0x88, 0x12, 0xcd, 0x24, 0xec, 0xa9, 0x5a, 0x05, 0x69, 0x13, 0xb0, 0xb2, 0x7e, 0x90, 0x0a, 0xc5, 0x07, 0xa4, 0x35, 0xfe, 0x73, 0x44, 0xff, 0xfd, 0xeb, 0xc1, 0xf0, 0xf1, 0x8f, 0xf6, 0xa3, 0xbf, 0x3b, 0xf8, 0xf8, 0xbb, 0xc3, 0xad, 0x58, 0xb1, 0x9e, 0x83, 0x6d, 0xf0, 0x92, 0x4b, 0x49, 0xa1, 0x2d, 0xee, 0xa4, 0xc2, 0x46, 0x82, 0xc3, 0xae, 0x4d, 0x29, 0x9a, 0x9e, 0x47, 0xb0, 0xad, 0xc8, 0xe7, 0x38, 0xea, 0x3a, 0xfa, 0xb5, 0x55, 0xa9, 0x32, 0x87, 0x9b, 0x92, 0xdf, 0x57, 0x70, 0x0b, 0xba, 0x21, 0x52, 0xfb, 0x11, 0xf0, 0x42, 0x82, 0xd1, 0xf2, 0xc9, 0x83, 0x90, 0x6e, 0x14, 0x1e, 0x25, 0xdc, 0x0d, 0x49, 0x69, 0x33, 0xf2, 0x2c, 0x4d, 0x3a, 0x9b, 0x3e, 0x99, 0xd8, 0x9f, 0x14, 0x59, 0x50, 0x44, 0xa7, 0xe5, 0xb6, 0x6c, 0xbd, 0x29, 0x3b, 0x28, 0x5d, 0xba, 0x01, 0xe3, 0x7f, 0x65, 0x89, 0xac, 0xdc, 0x06, 0x4e, 0x71, 0xa5, 0x83, 0xac, 0xb1, 0xbf, 0x51, 0x02, 0x8e, 0xef, 0x9f, 0x61, 0xa9, 0x62, 0x06, 0xcc, 0x6b, 0x17, 0x3a, 0xc3, 0xcf, 0x24, 0x6c, 0x46, 0xf0, 0x0c, 0xe8, 0x93, 0x19, 0x2b, 0xae, 0x4e, 0x27, 0xd4, 0x45, 0xb4, 0xd5, 0x94, 0xcd, 0x76, 0xd8, 0x9a, 0x38, 0xa4, 0xb0, 0xb4, 0xee, 0xd9, 0x10, 0x7f, 0x2b, 0xbc, 0x4d, 0x90, 0x8d, 0xc2, 0xe6, 0x6c, 0x6e, 0xa0, 0x38, 0xa4, 0xbc, 0xdf, 0x26, 0x1b, 0x7a, 0xf5, 0xcc, 0xa8, 0x9f, 0xc6, 0x4f, 0xb5, 0xf8, 0x71, 0xca, 0x0d, 0xda, 0x10, 0x92, 0x1d, 0x06, 0x71, 0x64, 0x92, 0x50, 0xb3, 0x3b, 0xc3, 0x0d, 0x19, 0x95, 0x77, 0x64, 0xeb, 0x56, 0xd4, 0x45, 0x20, 0xdc, 0xc6, 0x90, 0xda, 0xf6, 0x70, 0x3b, 0xd9, 0xb1, 0x86, 0xdd, 0x2c, 0xad, 0xaf, 0x76, 0x63, 0x1e, 0x64, 0xe7, 0xb4, 0x75, 0x8c, 0x4a, 0xba, 0xaa, 0x40, 0x64, 0x32, 0x87, 0xea, 0x57, 0x60, 0xcf, 0x18, 0x0e, 0x85, 0xd2, 0x3b, 0x87, 0x36, 0x07, 0xa0, 0xf5, 0x93, 0x21, 0x99, 0x8a, 0x0c, 0xab, 0xfc, 0x1f, 0x88, 0x88, 0x85, 0x01, 0x49, 0x3c, 0xcb, 0x19, 0x7a, 0x43, 0x2e, 0x5e, 0x73, 0x42, 0x54, 0xfb, 0xb0, 0x53, 0x2e, 0x7b, 0x34, 0x7d, 0x2b, 0xad, 0x3f, 0x71, 0x94, 0x7b, 0x56, 0xda, 0xa6, 0xed, 0xce, 0x8f, 0x32, 0x10, 0x8e, 0x3a, 0xfc, 0xef, 0x03, 0x6f, 0xb0, 0x4d, 0xc8, 0xc9, 0x64, 0x5f, 0x56, 0xe5, 0xa2, 0x6e, 0xc1, 0xa2, 0x49, 0x15, 0x3b, 0xd1, 0xb4, 0xf5, 0xd0, 0xf0, 0x27, 0xeb, 0x9c, 0x98, 0x71, 0x5a, 0x44, 0xd2, 0xc3, 0xeb, 0x48, 0xf4, 0x8e, 0x64, 0x9c, 0x76, 0x2b, 0x37, 0x64, 0x1c, 0x91, 0x50, 0x6e, 0x6f, 0x5b, 0x53, 0xde, 0xd4, 0x5a, 0xa4, 0xf5, 0x60, 0x34, 0x0f, 0x84, 0x49, 0x58, 0x4a, 0xc8, 0x00, 0x46, 0xe0, 0xd6, 0xe1, 0x35, 0xbb, 0x27, 0xc2, 0xa1, 0x34, 0x87, 0xb4, 0xca, 0x66, 0x71, 0x88, 0x82, 0x2a, 0xbb, 0x24, 0x98, 0x1e, 0xd2, 0x3e, 0x08, 0xa9, 0xc0, 0xdc, 0xa5, 0xe2, 0x9e, 0xb6, 0xdb, 0x1d, 0x27, 0x08, 0xc5, 0xd2, 0x93, 0x17, 0xab, 0xab, 0xca, 0x68, 0xf2, 0x61, 0xcd, 0xe3, 0xf8, 0xeb, 0x84, 0x31, 0x6d, 0xcd, 0x53, 0xfc, 0x8c, 0xbd, 0xe9, 0x1e, 0xec, 0xe7, 0xaf, 0x88, 0x55, 0x49, 0xc9, 0x5c, 0xc3, 0xb4, 0x1e, 0x06, 0xd4, 0x71, 0xe1, 0x67, 0xb6, 0x93, 0x05, 0x41, 0x86, 0x25, 0x25, 0x11, 0x53, 0x6c, 0xbb, 0x20, 0x30, 0x24, 0x43, 0x1c, 0x7b, 0xa3, 0xd1, 0x1e, 0x09, 0x9f, 0x3d, 0xf3, 0x87, 0x95, 0xac, 0x9c, 0xf3, 0xde, 0xed, 0x20, 0x49, 0xa1, 0x79, 0xfa, 0x18, 0x40, 0x6b, 0xa4, 0xdf, 0xb2, 0xd7, 0x93, 0xef, 0xef, 0x6b, 0x24, 0x82, 0x57, 0xc6, 0x36, 0xa8, 0xb8, 0xa2, 0x7e, 0xe9, 0x69, 0x3c, 0x61, 0x42, 0xa8, 0x84, 0xb7, 0x6a, 0xc1, 0x6e, 0xe9, 0xf4, 0x22, 0x25, 0x13, 0x1d, 0x9e, 0x34, 0x5a, 0x44, 0xde, 0x28, 0x62, 0x1e, 0xb0, 0x0c, 0xd2, 0x8d, 0xb6, 0xf9, 0xa3, 0xc3, 0xce, 0xf1, 0xe5, 0xe6, 0xc0, 0x67, 0xc6, 0xce, 0x01, 0xd0, 0x2e, 0x65, 0xc2, 0x86, 0xb5, 0x74, 0xec, 0x18, 0xed, 0xb4, 0x87, 0x83, 0x97, 0x11, 0xdb, 0xe1, 0x34, 0x47, 0xb5, 0x97, 0x18, 0x69, 0x98, 0xb3, 0x69, 0x76, 0x02, 0xc5, 0x87, 0x3f, 0xb2, 0xcb, 0x6a, 0x9e, 0xe4, 0xca, 0x83, 0x20, 0x32, 0xdb, 0xf8, 0x46, 0xa0, 0x97, 0x52, 0xce, 0xc5, 0x83, 0x29, 0x86, 0xd1, 0x62, 0x1e, 0x2c, 0xeb, 0x3f, 0xb2, 0xcc, 0xd1, 0x75, 0xa9, 0xa4, 0x35, 0x13, 0x56, 0xb1, 0xd9, 0xf7, 0xd7, 0xc7, 0xef, 0x45, 0xdb, 0x04, 0x3c, 0x83, 0x6b, 0x30, 0x1e, 0x80, 0x63, 0xc3, 0x28, 0x7d, 0xf2, 0x08, 0xa6, 0x23, 0xed, 0x5b, 0x7d, 0x95, 0x1e, 0x3e, 0x7e, 0x22, 0xd3, 0x56, 0xe4, 0x3a, 0xd8, 0xbc, 0xdb, 0xfc, 0xab, 0xbd, 0x3d, 0x4e, 0x5a, 0x21, 0x47, 0x43, 0xc0, 0xe3, 0xe1, 0xf3, 0xa3, 0x67, 0xff, 0xb8, 0x1d, 0x4d, 0x57, 0x55, 0x23, 0x84, 0x5d, 0x31, 0x14, 0x02, 0x42, 0x4a, 0xad, 0xdf, 0x20, 0x65, 0xa0, 0x1b, 0x2d, 0x6d, 0x46, 0x18, 0x81, 0x24, 0xd0, 0x00, 0xfd, 0xde, 0x21, 0x89, 0x80, 0xbd, 0x68, 0xbf, 0xc4, 0x44, 0xab, 0xc2, 0x09, 0x45, 0xd7, 0xdf, 0x9f, 0x9a, 0x9b, 0xab, 0x4f, 0x43, 0x40, 0x21, 0x49, 0x3d, 0xa5, 0xd3, 0xf0, 0x06, 0x96, 0x1c, 0xec, 0x9c, 0xc3, 0x07, 0x20, 0x3c, 0x8d, 0x7d, 0xb2, 0x77, 0x0d, 0x33, 0x35, 0x5f, 0x08, 0xb2, 0x85, 0x94, 0x2e, 0x2c, 0xe8, 0x2d, 0xf8, 0x91, 0x97, 0xa4, 0xeb, 0x6e, 0x8b, 0x11, 0xed, 0x55, 0xd3, 0xc1, 0x83, 0x0a, 0xbc, 0x00, 0xc0, 0x58, 0x57, 0x28, 0x23, 0x24, 0x69, 0x4e, 0xb3, 0x9c, 0x41, 0xd0, 0xcc, 0xd9, 0x52, 0xf4, 0x35, 0xb8, 0x07, 0x86, 0x14, 0xf6, 0x88, 0x0e, 0xc4, 0x70, 0x0c, 0x9a, 0x99, 0x50, 0xac, 0xe7, 0xd9, 0x68, 0xff, 0xb9, 0xc2, 0x23, 0x0f, 0x92, 0xaf, 0x8a, 0x35, 0x1d, 0x09, 0xad, 0xfa, 0xab, 0xf1, 0x37, 0x41, 0xa1, 0x23, 0xbd, 0xf1, 0xe8, 0x88, 0xde, 0x78, 0x37, 0xe6, 0xa7, 0x6e, 0xca, 0xc5, 0xdc, 0xbc, 0x19, 0x7b, 0xee, 0x29, 0x3d, 0x67, 0x28, 0x6e, 0xd6, 0x2c, 0x6a, 0x25, 0xaa, 0x0d, 0x33, 0x79, 0xf4, 0x28, 0x32, 0x93, 0xc1, 0x4f, 0xfe, 0xd0, 0x19, 0xbc, 0xae, 0x44, 0x50, 0xd4, 0x03, 0x0c, 0x94, 0x83, 0x12, 0x10, 0x0b, 0xf6, 0xfd, 0x6b, 0x32, 0x5f, 0x06, 0xed, 0x78, 0x48, 0x87, 0xc0, 0x0a, 0x98, 0x85, 0x0d, 0xb0, 0x20, 0x9e, 0x1e, 0x1e, 0x1d, 0xec, 0x3d, 0x19, 0x3d, 0x1a, 0x1d, 0xda, 0x94, 0x4c, 0x43, 0x07, 0xd7, 0xd4, 0xc1, 0x86, 0x32, 0x60, 0x22, 0xa1, 0x07, 0x24, 0x23, 0xe5, 0x85, 0x19, 0xc7, 0x83, 0x28, 0x91, 0x4e, 0x03, 0x2e, 0x19, 0x8b, 0x00, 0x49, 0x0e, 0xfc, 0xda, 0xbe, 0x51, 0xa4, 0x63, 0x2e, 0xe1, 0x9c, 0xd0, 0x24, 0xc4, 0xcd, 0xb4, 0xae, 0xb0, 0x03, 0x93, 0xfc, 0xef, 0xeb, 0xbc, 0x31, 0x2a, 0x00, 0x71, 0x14, 0x72, 0x9d, 0x69, 0xbf, 0x03, 0x2a, 0xa3, 0x2e, 0x35, 0x41, 0x81, 0xae, 0x44, 0x0c, 0xac, 0x81, 0x67, 0xcf, 0xc9, 0xef, 0x13, 0x17, 0x30, 0xe2, 0x12, 0xc2, 0x1c, 0xec, 0x8b, 0x9b, 0x0d, 0x19, 0x4b, 0xb2, 0x98, 0x9a, 0x3b, 0xfa, 0xb5, 0xb1, 0xf3, 0xae, 0xc9, 0x67, 0x1f, 0x74, 0x16, 0x66, 0x16, 0xc0, 0xc8, 0x5b, 0x1c, 0x72, 0x91, 0xb4, 0x20, 0xd7, 0x94, 0x40, 0x7e, 0xc0, 0x85, 0x46, 0x5a, 0xe4, 0xcd, 0x35, 0x8d, 0x01, 0x77, 0xd2, 0x7d, 0x68, 0xbb, 0xa6, 0x19, 0x02, 0x95, 0x02, 0x8c, 0x54, 0xed, 0xc7, 0xe1, 0x05, 0x06, 0x62, 0x84, 0xea, 0x65, 0xab, 0x36, 0x63, 0xce, 0xaf, 0x4d, 0xce, 0xd1, 0x28, 0x72, 0x0b, 0xff, 0xeb, 0x74, 0x90, 0xb4, 0xba, 0x5c, 0x8b, 0xcc, 0x8a, 0xb5, 0x38, 0xed, 0x36, 0x02, 0x96, 0x51, 0x7f, 0x36, 0x95, 0x1d, 0xfd, 0xf2, 0x54, 0x76, 0xf8, 0x50, 0x2a, 0xf3, 0xc8, 0x8c, 0x03, 0xef, 0x1b, 0x08, 0x8d, 0x3a, 0x07, 0xd3, 0x3a, 0x7a, 0xa8, 0xcc, 0x23, 0x32, 0x97, 0x2a, 0xd0, 0x22, 0xb1, 0x36, 0x8d, 0x39, 0x22, 0xeb, 0xa3, 0x32, 0x06, 0x96, 0x51, 0x3a, 0xbb, 0x87, 0xd0, 0xd8, 0xc7, 0xb9, 0x99, 0xca, 0x2e, 0xda, 0x7c, 0x65, 0x03, 0x8d, 0xf9, 0x04, 0xf1, 0x60, 0x2a, 0x73, 0xfe, 0x46, 0xe6, 0x3b, 0x49, 0x0f, 0xa1, 0xf9, 0x74, 0xd6, 0xdb, 0x48, 0xf7, 0xe0, 0x59, 0x8c, 0xca, 0x8e, 0x1e, 0x42, 0x65, 0xe6, 0x3c, 0x17, 0x24, 0x2b, 0x5b, 0x54, 0xf6, 0xe8, 0x27, 0x51, 0x19, 0x93, 0x19, 0xe8, 0xac, 0x97, 0xd0, 0x68, 0x49, 0xed, 0x42, 0xe5, 0x97, 0xff, 0x2a, 0xb7, 0x48, 0x5b, 0x83, 0x06, 0xe5, 0xbb, 0x3f, 0xed, 0x0c, 0x3b, 0x5b, 0xfd, 0x80, 0x13, 0x3b, 0x6c, 0x9f, 0xd8, 0xc1, 0x4f, 0x3b, 0xb1, 0xc3, 0xae, 0x65, 0x52, 0x65, 0xec, 0x33, 0xff, 0xab, 0xc6, 0x2e, 0x9e, 0xef, 0xed, 0xfd, 0x08, 0x1f, 0xd0, 0x73, 0x92, 0x7d, 0x3f, 0x06, 0x4d, 0xe0, 0xb3, 0x4e, 0x89, 0xef, 0xf8, 0xec, 0xd5, 0x37, 0x63, 0x71, 0xbc, 0x8b, 0xc2, 0xa1, 0x0a, 0x09, 0x94, 0x76, 0x06, 0xef, 0xe5, 0xfe, 0x81, 0x81, 0x9a, 0x2b, 0x6d, 0x88, 0x87, 0xb7, 0x03, 0xeb, 0x02, 0xa7, 0xc2, 0xd1, 0x22, 0xd1, 0xab, 0x02, 0x90, 0x41, 0x86, 0x3a, 0x83, 0xd3, 0x43, 0x86, 0xee, 0xc1, 0x92, 0xf3, 0xe7, 0x62, 0xdb, 0xa0, 0xda, 0x57, 0x76, 0x9a, 0xab, 0x0a, 0x05, 0x45, 0x78, 0x4c, 0x74, 0x6b, 0xaf, 0xbb, 0x61, 0xcf, 0xec, 0x64, 0x56, 0x5f, 0x03, 0x88, 0x79, 0x55, 0x69, 0x44, 0x31, 0x66, 0xe4, 0xda, 0xdf, 0xaa, 0x27, 0x30, 0x06, 0x38, 0x22, 0xc0, 0x82, 0xde, 0x7e, 0xd3, 0x7b, 0x41, 0xfa, 0x66, 0x7e, 0xeb, 0xc3, 0x1b, 0x11, 0x15, 0xa0, 0x7d, 0x77, 0xa3, 0x1d, 0x72, 0x6e, 0xb9, 0x9f, 0x09, 0xc6, 0xe0, 0xdc, 0xb9, 0x8c, 0x9b, 0xd0, 0xd4, 0x8f, 0xcc, 0x90, 0x5d, 0xbf, 0x12, 0xff, 0x22, 0xa5, 0xdf, 0xc8, 0x3f, 0x1e, 0xd3, 0x87, 0x11, 0x31, 0xe6, 0x7f, 0x5e, 0xe1, 0xdf, 0x9c, 0x1d, 0xc1, 0xe8, 0x65, 0xde, 0x39, 0x4f, 0xa3, 0x1b, 0xad, 0xac, 0x94, 0xdd, 0x27, 0x8c, 0xaa, 0xf1, 0xae, 0x74, 0xd5, 0x9c, 0xfe, 0x9a, 0x29, 0xd1, 0x03, 0x85, 0xc9, 0xb1, 0x12, 0x20, 0x8f, 0x11, 0x63, 0xe4, 0x47, 0xa3, 0x38, 0xbc, 0x7c, 0x96, 0xf8, 0x10, 0xa7, 0x8a, 0x59, 0xe1, 0x37, 0xae, 0x73, 0x21, 0x5f, 0x39, 0x82, 0x01, 0xa3, 0xdd, 0x86, 0xc9, 0xe5, 0xd4, 0x94, 0x45, 0x66, 0x7e, 0xb0, 0xff, 0x79, 0xe8, 0x92, 0xf8, 0xa0, 0xd5, 0x94, 0x0e, 0xe5, 0x13, 0x69, 0x1d, 0xa8, 0x6b, 0x98, 0xb8, 0x1a, 0xa2, 0xd8, 0x47, 0x23, 0x05, 0x97, 0xb0, 0x7d, 0x67, 0x19, 0x5b, 0x4b, 0x13, 0x36, 0x7b, 0xc3, 0x84, 0x76, 0x14, 0x90, 0xd7, 0x90, 0x6b, 0x02, 0x4f, 0x2d, 0xc9, 0x09, 0x01, 0x7f, 0x27, 0x27, 0x86, 0x86, 0xcc, 0xbe, 0x74, 0x18, 0x82, 0xbf, 0x7f, 0xb4, 0x4f, 0x67, 0xaa, 0x83, 0x50, 0x63, 0xa6, 0x85, 0x86, 0x3a, 0x7e, 0x7f, 0x94, 0x8e, 0x7e, 0x43, 0x0c, 0xb0, 0xc7, 0x6d, 0x2b, 0xfa, 0x77, 0x03, 0x3f, 0xbf, 0x69, 0x92, 0x56, 0x11, 0x9f, 0x8d, 0xc8, 0x6e, 0xc5, 0xb7, 0x51, 0x74, 0x18, 0x9b, 0xf8, 0x94, 0xb2, 0x01, 0x8b, 0x3a, 0x0c, 0xfb, 0x43, 0x33, 0x54, 0x12, 0x76, 0x3a, 0xb1, 0xf1, 0x06, 0xbf, 0x69, 0xf9, 0x80, 0x51, 0xd9, 0x5a, 0xc9, 0x60, 0x03, 0x4e, 0xa7, 0xea, 0x29, 0xf4, 0xb4, 0x5f, 0xc1, 0x67, 0x66, 0x55, 0x7a, 0xe3, 0xd9, 0xd0, 0xdc, 0x17, 0x61, 0x8e, 0xc8, 0x83, 0xcd, 0x21, 0x31, 0xbf, 0xa7, 0x88, 0x72, 0x4c, 0xfb, 0xa8, 0xa7, 0x55, 0x26, 0x11, 0x1e, 0x82, 0xd8, 0x44, 0xf4, 0x98, 0x90, 0x29, 0x8d, 0xe6, 0x71, 0x99, 0x69, 0xd5, 0xae, 0x5d, 0xb5, 0xc2, 0xb2, 0x00, 0x8b, 0x65, 0x14, 0x4b, 0x88, 0x77, 0xee, 0x2c, 0xd7, 0x47, 0xde, 0x28, 0xb1, 0x0c, 0xde, 0x42, 0xaf, 0x6b, 0x0d, 0xb5, 0x05, 0xf6, 0x5c, 0x51, 0x07, 0xc5, 0xfa, 0x2a, 0x5f, 0x75, 0x45, 0xf4, 0xf0, 0x8b, 0xf2, 0x8b, 0xe1, 0xae, 0x90, 0x78, 0x79, 0x9d, 0xd5, 0xdc, 0x0d, 0x99, 0xa6, 0x4a, 0xd1, 0xe6, 0x2b, 0xb8, 0x58, 0x44, 0x78, 0xa1, 0x54, 0x98, 0x12, 0x77, 0xa1, 0x8d, 0x21, 0xc0, 0x11, 0xb4, 0xf6, 0xe1, 0x89, 0x55, 0x14, 0x68, 0x16, 0x7e, 0x47, 0xee, 0x18, 0xb3, 0x57, 0x73, 0xce, 0x2d, 0x44, 0x39, 0x31, 0x45, 0xe1, 0x05, 0xc3, 0x9b, 0x7d, 0xfa, 0xe5, 0xaa, 0x2d, 0x9b, 0xa8, 0x32, 0x5d, 0x79, 0xc3, 0x0b, 0x65, 0x2b, 0x7f, 0xba, 0xb7, 0xee, 0xc4, 0x32, 0xa0, 0xb9, 0x38, 0x31, 0xe8, 0xf2, 0xa1, 0x0e, 0x89, 0xd1, 0xbf, 0xa7, 0x57, 0xd9, 0x52, 0x5a, 0x20, 0xf5, 0x54, 0xf1, 0xf7, 0x96, 0xbc, 0xb7, 0xe7, 0xc4, 0x89, 0x99, 0xf3, 0x66, 0x35, 0x5a, 0x96, 0xff, 0x30, 0x7b, 0x9c, 0x52, 0x4f, 0xc5, 0xe0, 0x4a, 0x50, 0xb9, 0x6d, 0xc1, 0x87, 0xc2, 0x00, 0x5a, 0x85, 0x35, 0x2c, 0x1d, 0x0b, 0x57, 0x94, 0x76, 0xc0, 0x2d, 0x24, 0xaf, 0xcc, 0x8c, 0x8f, 0x3f, 0x7e, 0x78, 0x37, 0xfe, 0x70, 0xde, 0x25, 0xec, 0xf3, 0xb3, 0xf7, 0x17, 0xc7, 0xaf, 0x3f, 0x9e, 0xbf, 0x3f, 0xbb, 0x38, 0x7b, 0x75, 0x76, 0x9a, 0xec, 0x1c, 0xec, 0x6e, 0xac, 0x2e, 0xb4, 0x2e, 0x08, 0x0f, 0xa7, 0x52, 0xe7, 0xcf, 0x3c, 0xcb, 0x4e, 0x61, 0x87, 0xd6, 0x13, 0x8e, 0xf6, 0x9d, 0xd0, 0x56, 0x0b, 0xf7, 0x1b, 0x7e, 0x08, 0x08, 0x37, 0x70, 0xf5, 0x34, 0xb9, 0x5c, 0xf3, 0x65, 0x94, 0x5c, 0x05, 0x2d, 0xbd, 0xaa, 0x9b, 0x40, 0x14, 0x65, 0x1a, 0x2f, 0xf5, 0x0a, 0xd3, 0x36, 0xba, 0xe3, 0x1e, 0x77, 0x75, 0x16, 0x3a, 0x03, 0x28, 0x60, 0x8e, 0x2a, 0xea, 0x38, 0x59, 0x58, 0xba, 0x60, 0x38, 0x1b, 0x60, 0xa0, 0xdb, 0x57, 0xd0, 0x20, 0x42, 0x42, 0x58, 0x65, 0x61, 0x55, 0xba, 0x51, 0x72, 0x1e, 0xf6, 0x09, 0x93, 0x37, 0x66, 0x59, 0x21, 0xcd, 0x6a, 0x65, 0x1e, 0x08, 0x60, 0xa2, 0x0b, 0x0e, 0xc7, 0xd3, 0xcd, 0x03, 0xf4, 0x5b, 0x6f, 0xaf, 0x50, 0xee, 0x9c, 0x05, 0x51, 0x61, 0x7e, 0x9b, 0x91, 0x5e, 0x6e, 0xbc, 0x39, 0xd1, 0x78, 0xa4, 0x94, 0x01, 0x87, 0x32, 0xc2, 0x61, 0x8f, 0x35, 0x38, 0xc6, 0x28, 0x35, 0xb8, 0x93, 0xd0, 0x5f, 0x14, 0xdf, 0x68, 0xec, 0xaf, 0xe5, 0x1e, 0x42, 0xe6, 0x4d, 0xa4, 0x68, 0xc5, 0x80, 0xce, 0x7e, 0xc0, 0x04, 0x2d, 0x51, 0xc1, 0x0d, 0xc5, 0x2d, 0x0e, 0x2c, 0xc8, 0xf7, 0x48, 0x61, 0x42, 0x5c, 0xbc, 0x88, 0x89, 0x0c, 0x2c, 0xee, 0xd2, 0x9b, 0xce, 0xb4, 0xba, 0xec, 0xe7, 0xe9, 0xe8, 0xc9, 0xe3, 0xd1, 0x21, 0x81, 0x86, 0x9c, 0x2d, 0x28, 0x8e, 0x26, 0x9a, 0x05, 0xfc, 0xcb, 0xf8, 0x80, 0x20, 0x24, 0x21, 0x05, 0xcf, 0xed, 0x95, 0x8c, 0x18, 0xb3, 0xa5, 0x12, 0x2d, 0x66, 0x56, 0x51, 0xa6, 0xb8, 0x12, 0xd2, 0xd2, 0x58, 0x60, 0xb5, 0x09, 0x95, 0xc6, 0x7c, 0xe7, 0xb9, 0xa4, 0xa1, 0x71, 0x5e, 0x56, 0x97, 0xd7, 0x12, 0x44, 0x05, 0x20, 0x3f, 0x5f, 0x9d, 0x73, 0x8a, 0xaa, 0x85, 0xa8, 0x00, 0x2b, 0xd7, 0x96, 0xdd, 0xfb, 0xa3, 0x7d, 0x4a, 0x67, 0xf8, 0xb3, 0x64, 0xc8, 0x99, 0xbf, 0x8d, 0x63, 0xd0, 0x0b, 0xac, 0xce, 0xeb, 0x18, 0xed, 0x70, 0x16, 0x2d, 0xcf, 0x4c, 0xef, 0x0f, 0xf4, 0xa7, 0xa6, 0xf0, 0x77, 0x97, 0xdc, 0x03, 0xc3, 0x34, 0xf0, 0x50, 0x24, 0xcc, 0x7d, 0xad, 0xb3, 0xf8, 0x8a, 0x47, 0x9b, 0x91, 0xe8, 0x0e, 0x83, 0x8b, 0x76, 0xef, 0x15, 0x7b, 0xe8, 0x0d, 0xb3, 0xa1, 0x01, 0x95, 0x0e, 0x5d, 0x99, 0x76, 0x6e, 0xdf, 0x62, 0xe0, 0x19, 0x2a, 0x5f, 0x83, 0x67, 0x78, 0x91, 0xcd, 0xa1, 0x1b, 0xa2, 0xa6, 0x74, 0x80, 0x5f, 0x22, 0xa4, 0x69, 0xb3, 0xd6, 0xf8, 0x24, 0x62, 0xe0, 0x35, 0xe9, 0xd4, 0xd7, 0xb5, 0x2d, 0x88, 0xe1, 0xb6, 0xd9, 0x54, 0xea, 0x7e, 0x25, 0x55, 0xcd, 0x8b, 0x3b, 0x80, 0xf6, 0xe7, 0xb7, 0x9a, 0x38, 0xf0, 0x8f, 0xac, 0x2a, 0xc3, 0xf0, 0x3a, 0x94, 0x07, 0x05, 0x93, 0x23, 0x53, 0x52, 0xd1, 0x6e, 0xdc, 0x0f, 0xe9, 0xab, 0xc1, 0x9d, 0xfb, 0x03, 0x5a, 0x2f, 0x33, 0x38, 0x34, 0xb7, 0x49, 0x13, 0xb4, 0x13, 0x00, 0x37, 0xe6, 0x1a, 0x14, 0xf5, 0x78, 0xc0, 0x82, 0x6a, 0x60, 0xef, 0xb8, 0x7c, 0x36, 0x30, 0x31, 0xa1, 0xfe, 0xcd, 0xc8, 0x9c, 0x71, 0xd9, 0xbf, 0x36, 0xbc, 0x46, 0x6d, 0xce, 0x1c, 0xe0, 0x9d, 0xe8, 0x73, 0x21, 0x4f, 0x1f, 0x26, 0xc9, 0xeb, 0xac, 0xb8, 0x6b, 0x4f, 0x68, 0x00, 0xcc, 0x1a, 0xb8, 0x87, 0xf3, 0xc6, 0xc1, 0x2a, 0xb8, 0x64, 0x5c, 0x37, 0xc5, 0x70, 0x4a, 0xed, 0x39, 0xc7, 0x38, 0xd7, 0x17, 0x76, 0x1b, 0x98, 0x6b, 0xb5, 0x37, 0x63, 0x07, 0xe8, 0x28, 0x1a, 0xd3, 0xc5, 0x27, 0x1f, 0xb2, 0x0d, 0xc0, 0x7c, 0x84, 0x55, 0x57, 0xaf, 0x27, 0x7f, 0x63, 0x90, 0xfd, 0x84, 0x3c, 0x0b, 0x95, 0xec, 0x82, 0xe4, 0x39, 0x9a, 0x53, 0x35, 0x0f, 0x70, 0xe0, 0x8a, 0x98, 0x43, 0x11, 0x1b, 0x0e, 0xc1, 0x66, 0x85, 0xb7, 0x6f, 0x53, 0x18, 0x66, 0x14, 0xad, 0x4b, 0xcc, 0x7a, 0x54, 0x06, 0xbd, 0x3f, 0xc3, 0x39, 0xf1, 0x54, 0xce, 0x9f, 0xeb, 0x08, 0x5f, 0xde, 0x4b, 0xce, 0xd9, 0xb4, 0x19, 0xc4, 0xf4, 0x78, 0xef, 0x58, 0xca, 0xa9, 0xeb, 0xc1, 0x1f, 0xe8, 0x8f, 0x70, 0x0d, 0x2d, 0x92, 0xa5, 0x5d, 0x56, 0x36, 0x42, 0x8f, 0x83, 0x31, 0xe1, 0xf5, 0xbe, 0x0f, 0x7c, 0xe1, 0xc4, 0xc0, 0xe6, 0xb1, 0xc1, 0xc5, 0x1e, 0xf2, 0x81, 0x0f, 0x85, 0x82, 0x09, 0x2a, 0x75, 0xaf, 0x6c, 0x77, 0x03, 0xa9, 0xd0, 0x68, 0xdb, 0x41, 0x84, 0x41, 0xb3, 0x92, 0xce, 0x27, 0xe9, 0x9c, 0x92, 0xab, 0xab, 0xcc, 0x81, 0x31, 0xd3, 0x51, 0x32, 0xd4, 0x94, 0xa0, 0xbb, 0x6b, 0xae, 0xef, 0xaa, 0x6c, 0x18, 0x67, 0x9e, 0xb2, 0xb1, 0x49, 0xd3, 0xa9, 0xc8, 0x41, 0xe8, 0x6d, 0xb2, 0xaa, 0xc8, 0x34, 0x9a, 0x3d, 0x7c, 0xf8, 0xd1, 0xd6, 0xab, 0xb2, 0x70, 0x45, 0x38, 0x12, 0x7c, 0xf5, 0xd8, 0x98, 0x7c, 0x91, 0x73, 0xea, 0xe0, 0x74, 0xb2, 0x90, 0xf4, 0xd7, 0x65, 0x4e, 0xc8, 0x52, 0x3a, 0x1c, 0xb4, 0x37, 0x47, 0x25, 0x17, 0xf1, 0x4e, 0x29, 0x2e, 0x95, 0x49, 0xec, 0x2b, 0x72, 0x63, 0x22, 0xd3, 0x0c, 0xee, 0x0e, 0xaf, 0xf2, 0x8e, 0x6f, 0xb7, 0x0e, 0x87, 0x7c, 0x17, 0x44, 0xab, 0x0b, 0x8a, 0x33, 0x15, 0x1c, 0xba, 0x12, 0xe3, 0x53, 0x19, 0x2e, 0x4d, 0x8f, 0xcc, 0x34, 0x4a, 0xb9, 0x4a, 0x49, 0x32, 0x69, 0x65, 0x61, 0x07, 0x4c, 0xbe, 0xdd, 0x5e, 0xde, 0xea, 0x02, 0x36, 0x2d, 0xd7, 0xa9, 0xb9, 0xa3, 0x7b, 0x64, 0xc4, 0xed, 0x9d, 0x26, 0x02, 0x6e, 0x56, 0xc1, 0x56, 0x28, 0xab, 0x37, 0xfb, 0x9c, 0x37, 0x38, 0xb1, 0x4e, 0x26, 0xb2, 0x26, 0xe8, 0x4a, 0xff, 0x99, 0xe5, 0x3a, 0x6c, 0x5e, 0x29, 0xc1, 0x3a, 0x9b, 0x77, 0xc5, 0xc0, 0x6a, 0xd0, 0x7e, 0xc4, 0x4b, 0xc3, 0xdd, 0x35, 0x60, 0xa3, 0x4b, 0xc7, 0x11, 0xb8, 0x9f, 0x10, 0xbf, 0x8b, 0xfb, 0x11, 0xf7, 0x2c, 0xaa, 0x92, 0x21, 0x98, 0x62, 0x36, 0x34, 0x4c, 0x60, 0xb5, 0xc1, 0x3f, 0x7f, 0x3b, 0xd0, 0x45, 0xb7, 0x32, 0x98, 0x7d, 0x18, 0x17, 0xfe, 0x09, 0x27, 0x4a, 0xca, 0xde, 0x85, 0x15, 0x00, 0x46, 0xd3, 0x38, 0x8a, 0xed, 0x64, 0x2c, 0x13, 0x33, 0xb4, 0x70, 0x7a, 0x7b, 0x6e, 0x68, 0x71, 0x25, 0x36, 0x50, 0x37, 0xac, 0x2f, 0x6d, 0x8d, 0xb7, 0x4f, 0x76, 0xee, 0x03, 0xd7, 0x36, 0x62, 0x4c, 0x94, 0xac, 0x17, 0x92, 0xfb, 0xee, 0x7d, 0x8b, 0x4d, 0xb9, 0x60, 0x1f, 0x81, 0x73, 0xc6, 0xfd, 0x1b, 0xf8, 0x39, 0x11, 0x4a, 0x96, 0xd5, 0x05, 0x93, 0x94, 0xb3, 0x8e, 0xf9, 0x82, 0xc0, 0x27, 0xf1, 0x21, 0x9a, 0x58, 0xbe, 0x11, 0x41, 0xa4, 0xe7, 0x30, 0x62, 0xe0, 0x39, 0xb3, 0x4e, 0x5a, 0xb1, 0xfe, 0x7c, 0x9a, 0x52, 0xe4, 0x36, 0x9e, 0xcc, 0x38, 0x96, 0xfb, 0x36, 0xd4, 0xa7, 0x88, 0x4f, 0x6b, 0x26, 0xa9, 0xe7, 0x1c, 0xe4, 0x26, 0x60, 0xb7, 0xcd, 0x43, 0x12, 0x7c, 0xa7, 0x29, 0xc2, 0xf5, 0xda, 0x73, 0x5d, 0x06, 0x76, 0xff, 0x74, 0xbf, 0x35, 0xab, 0x8b, 0x31, 0x69, 0x3a, 0xab, 0x7e, 0x2f, 0x4b, 0xfb, 0x2b, 0x2f, 0xcc, 0x8d, 0xde, 0xb4, 0x28, 0x3c, 0xf4, 0x73, 0x16, 0xe5, 0x18, 0x87, 0xdb, 0x42, 0x99, 0x73, 0xe7, 0x44, 0xf8, 0x23, 0x1b, 0x63, 0x55, 0x3d, 0x4b, 0x30, 0x63, 0x6e, 0x68, 0x03, 0xed, 0x2d, 0xc3, 0x3e, 0xf8, 0x53, 0x57, 0x72, 0xff, 0x36, 0x82, 0x34, 0xe8, 0xbf, 0x7f, 0x7d, 0x0e, 0x37, 0xe0, 0xec, 0xc7, 0xde, 0x79, 0x1c, 0x0f, 0x64, 0x2e, 0xbf, 0xc2, 0x34, 0xf2, 0xd5, 0x15, 0xe9, 0x96, 0x2f, 0x62, 0xa5, 0x53, 0xde, 0x46, 0xc8, 0x63, 0xbf, 0xfc, 0xf7, 0xab, 0x85, 0x03, 0x98, 0xda, 0xf0, 0x7d, 0x79, 0xec, 0x17, 0xff, 0x3e, 0xdf, 0xdd, 0xcd, 0xc2, 0xc5, 0x72, 0xc5, 0xd7, 0x92, 0xa0, 0xde, 0xe6, 0x38, 0x4e, 0xaa, 0xfc, 0x0c, 0xa6, 0x28, 0x39, 0xef, 0x21, 0x57, 0x94, 0x6f, 0x45, 0xbb, 0xa0, 0xf8, 0x6c, 0xf1, 0x17, 0xe1, 0x60, 0x60, 0xcd, 0xe1, 0xe6, 0x48, 0x5b, 0xa2, 0x17, 0xfc, 0xe7, 0xde, 0x97, 0xb1, 0x33, 0xb2, 0xa5, 0x34, 0x24, 0x06, 0xb5, 0x91, 0x11, 0x3a, 0xe3, 0x30, 0x6e, 0x87, 0xa8, 0xbc, 0xb6, 0xab, 0x0b, 0x6d, 0x96, 0x66, 0x8d, 0xd0, 0xab, 0xb1, 0xee, 0x49, 0xb2, 0x43, 0x9a, 0x06, 0xac, 0x71, 0x0a, 0x97, 0x33, 0x44, 0x8a, 0x47, 0xe6, 0x7d, 0xb0, 0xee, 0x6b, 0x84, 0x07, 0x51, 0xe1, 0xf7, 0xa0, 0x75, 0x08, 0xc2, 0x5f, 0x0f, 0xa4, 0x7b, 0x91, 0x19, 0x8e, 0xc8, 0x4a, 0x92, 0x60, 0x95, 0x9e, 0x70, 0x9c, 0x21, 0xcc, 0x12, 0xd7, 0x37, 0x90, 0x6e, 0xba, 0xe0, 0x74, 0xeb, 0xe4, 0xd5, 0xd9, 0xbb, 0x77, 0xc7, 0xaf, 0xba, 0xf1, 0x68, 0x57, 0x4f, 0x82, 0x66, 0x59, 0xa2, 0xea, 0x07, 0xbd, 0x33, 0xf1, 0x75, 0x6e, 0x8c, 0x60, 0x43, 0x46, 0x3c, 0x03, 0x74, 0xd6, 0x4a, 0x05, 0x25, 0x99, 0xcb, 0x52, 0x3c, 0xfc, 0x5c, 0xa6, 0x80, 0x48, 0xb5, 0x5e, 0x40, 0x0f, 0xce, 0x87, 0x02, 0x67, 0x1a, 0xf5, 0x55, 0x65, 0x0d, 0x14, 0xf6, 0xab, 0xce, 0x00, 0xd3, 0x35, 0x06, 0xe3, 0x9e, 0xa4, 0xa3, 0xb3, 0xff, 0x35, 0xd2, 0xc1, 0xd1, 0xd2, 0x32, 0x23, 0xee, 0x51, 0xd1, 0xcf, 0xb0, 0x9c, 0x73, 0x1b, 0xdf, 0x65, 0x5a, 0x7d, 0xa2, 0x78, 0xb6, 0x57, 0xfe, 0x83, 0x02, 0x50, 0x80, 0x7f, 0xcf, 0x66, 0x31, 0x4c, 0x08, 0x78, 0xdd, 0xfd, 0x6a, 0x07, 0x99, 0x90, 0xb4, 0xbe, 0x7c, 0xae, 0x75, 0x99, 0xf4, 0x7a, 0x91, 0xdd, 0xd0, 0x67, 0x18, 0x08, 0x87, 0x80, 0x1d, 0xc2, 0x5e, 0x1a, 0x8c, 0xdf, 0xce, 0x51, 0x85, 0x3b, 0xc1, 0x94, 0xa0, 0xb3, 0x5a, 0x72, 0xb7, 0x0a, 0x00, 0x62, 0x53, 0xfb, 0x37, 0xae, 0xe9, 0x09, 0xf6, 0xea, 0x6b, 0x05, 0xb5, 0xf4, 0x52, 0xea, 0x82, 0xdc, 0x3f, 0x8b, 0x5f, 0x35, 0xc9, 0x5a, 0x50, 0x97, 0x7d, 0xb8, 0x40, 0xbc, 0xdb, 0x38, 0x06, 0xb2, 0x56, 0xea, 0xd6, 0x00, 0x7a, 0xb4, 0x69, 0x4f, 0xe4, 0x6f, 0x4c, 0x20, 0xf5, 0x30, 0x9a, 0xc1, 0xc2, 0x1e, 0x77, 0xe1, 0x96, 0x81, 0x44, 0x06, 0x27, 0x29, 0x41, 0x10, 0x5e, 0xa2, 0x76, 0x81, 0x33, 0x25, 0x71, 0x59, 0x03, 0x35, 0x17, 0x95, 0x27, 0xa8, 0xec, 0x1b, 0x88, 0x59, 0xc0, 0x6d, 0xe4, 0x67, 0xd4, 0x60, 0x58, 0x37, 0x5f, 0x51, 0x85, 0x38, 0x08, 0x21, 0x17, 0x38, 0x2f, 0x56, 0xeb, 0x26, 0x08, 0x24, 0x12, 0xbc, 0x1a, 0x23, 0x6b, 0x7c, 0x39, 0x0c, 0x5b, 0x91, 0xa5, 0x33, 0xff, 0x4c, 0xc1, 0xc0, 0x61, 0xf9, 0xd7, 0xcd, 0x2c, 0x2f, 0x36, 0x7a, 0x96, 0x7d, 0x8b, 0xc6, 0x99, 0x34, 0x92, 0xf8, 0xcf, 0x91, 0x5f, 0x47, 0xac, 0x7b, 0x70, 0x2d, 0x74, 0x69, 0xc1, 0xbe, 0xa5, 0x2c, 0x62, 0x13, 0x8a, 0x0e, 0xaa, 0xd4, 0x3b, 0xdc, 0xcf, 0x58, 0x39, 0xe4, 0xd8, 0xca, 0xfa, 0x84, 0xd2, 0x27, 0xee, 0x8e, 0xc6, 0x0f, 0xfd, 0xf2, 0x92, 0xc9, 0x76, 0xa2, 0xbf, 0x47, 0x47, 0xb1, 0xcf, 0xfd, 0x1a, 0x33, 0x48, 0x5e, 0x98, 0xff, 0x6c, 0xfc, 0xf6, 0xc3, 0x3f, 0x1b, 0x60, 0x4d, 0x6e, 0x90, 0xba, 0x36, 0xc5, 0x15, 0xb2, 0xf0, 0x5e, 0x28, 0x55, 0xf0, 0xdc, 0x20, 0x2f, 0xd5, 0x93, 0xc8, 0x1b, 0x65, 0xb0, 0xab, 0x43, 0xf3, 0xc5, 0x70, 0x24, 0x60, 0x1f, 0x9b, 0x88, 0x84, 0xa0, 0x1e, 0x26, 0x92, 0xef, 0x15, 0xc1, 0xad, 0x32, 0xde, 0x6e, 0x9e, 0x95, 0xad, 0xe2, 0x7b, 0xf8, 0xc6, 0x85, 0xa5, 0xab, 0xff, 0x9a, 0xba, 0x82, 0xd2, 0xc1, 0x96, 0xb2, 0x82, 0x4f, 0xb4, 0x36, 0xe1, 0x21, 0x52, 0x29, 0xd8, 0x92, 0x6e, 0x2d, 0x60, 0x6b, 0xa3, 0xc2, 0x5d, 0xd8, 0x94, 0xf5, 0xee, 0xc8, 0x13, 0x4f, 0xfd, 0xe2, 0xd7, 0xe2, 0xe1, 0x29, 0xdb, 0xf1, 0x93, 0xe9, 0xcb, 0xda, 0xa6, 0xe1, 0x18, 0xaa, 0xbd, 0x37, 0x65, 0x9b, 0x92, 0x9b, 0xbc, 0x84, 0x6d, 0xcf, 0x2f, 0xd1, 0x97, 0xb1, 0xfd, 0x7f, 0x63, 0xca, 0x76, 0x2b, 0x67, 0x9b, 0xd4, 0x2b, 0x4a, 0x11, 0x8e, 0xa5, 0x6d, 0x7b, 0x70, 0x37, 0x9c, 0xb3, 0xbd, 0x29, 0x65, 0xdb, 0xcb, 0xd8, 0xde, 0x90, 0xb0, 0xcd, 0xe0, 0xc1, 0x9b, 0x52, 0xb6, 0x7f, 0x66, 0xce, 0x76, 0x4f, 0xca, 0xf6, 0x4f, 0xce, 0xd8, 0xfe, 0x85, 0x53, 0xb6, 0x7f, 0xc9, 0x6c, 0x64, 0xdc, 0x1e, 0x3a, 0x8f, 0x7c, 0x2a, 0xc5, 0x4d, 0x2f, 0xee, 0x85, 0x14, 0x6e, 0x27, 0xb0, 0x78, 0x71, 0x66, 0x19, 0x87, 0x55, 0x1a, 0xa7, 0xb8, 0x87, 0x75, 0x43, 0x42, 0x2a, 0x91, 0x0c, 0x38, 0x3f, 0x0e, 0x7c, 0x14, 0xbb, 0xe9, 0x75, 0xbd, 0x18, 0x62, 0x02, 0x54, 0x73, 0x1c, 0x58, 0x89, 0x8e, 0xcf, 0x74, 0x9e, 0xfb, 0xe5, 0x59, 0x4e, 0xb3, 0xa8, 0x0f, 0x8e, 0x9c, 0xad, 0x2e, 0x7f, 0x59, 0x53, 0x3d, 0x6c, 0xcc, 0x6e, 0x67, 0xee, 0x33, 0x16, 0x0e, 0xa3, 0x10, 0x27, 0xfc, 0x16, 0x7c, 0xa4, 0x99, 0x6d, 0xa9, 0x68, 0x23, 0x12, 0xb6, 0x43, 0x72, 0x58, 0x0c, 0x83, 0xf2, 0x77, 0x7f, 0x1d, 0x10, 0x21, 0x54, 0xf6, 0xa2, 0x4c, 0xbb, 0xc6, 0x15, 0x3c, 0x18, 0x1d, 0x71, 0x85, 0x34, 0x22, 0x2c, 0x14, 0x5e, 0xe5, 0x79, 0x06, 0x88, 0x54, 0x98, 0x00, 0xf0, 0xc0, 0xd5, 0xb4, 0xe3, 0x86, 0x65, 0xf2, 0xfc, 0x28, 0x79, 0x4f, 0xaa, 0xa3, 0x51, 0xd4, 0x11, 0xed, 0xc7, 0xed, 0x36, 0x63, 0x27, 0xf2, 0xfb, 0xd8, 0x70, 0x6d, 0x10, 0x5a, 0x43, 0x3f, 0x1f, 0xde, 0x9f, 0x86, 0xf1, 0x69, 0x44, 0x0f, 0x9e, 0xef, 0xed, 0x21, 0x41, 0xea, 0x2a, 0xbd, 0xbd, 0x1d, 0xd5, 0xd9, 0xde, 0xac, 0x9c, 0xd6, 0x7b, 0x74, 0x82, 0xfa, 0xf5, 0xab, 0x66, 0xb9, 0xf8, 0xec, 0x3e, 0x98, 0x6b, 0xad, 0xcb, 0x5d, 0xdc, 0x09, 0x5a, 0x97, 0xcb, 0xbe, 0xc4, 0xad, 0xcc, 0xbd, 0x3a, 0xf9, 0x75, 0xd0, 0x79, 0x54, 0xaa, 0x0a, 0xcc, 0xaa, 0xcc, 0xff, 0xa1, 0xe7, 0x0a, 0x45, 0x95, 0x22, 0x85, 0xcb, 0x7e, 0x5f, 0x5a, 0xaf, 0x86, 0x20, 0x3c, 0x20, 0x2e, 0x24, 0x6f, 0x08, 0x53, 0x36, 0x6b, 0xc0, 0xc4, 0xe4, 0x44, 0x3a, 0xc7, 0xde, 0xe9, 0x08, 0xcb, 0xe4, 0x15, 0xb6, 0x6d, 0x03, 0x9d, 0xf5, 0xf4, 0x88, 0xfd, 0xc5, 0x59, 0x82, 0xa1, 0x6e, 0x92, 0xf2, 0x0f, 0x51, 0x76, 0xfd, 0x47, 0x7f, 0x8d, 0x5b, 0x66, 0x13, 0xf2, 0x5e, 0x70, 0xb6, 0xdd, 0xc6, 0x99, 0xd8, 0x87, 0x7f, 0x8d, 0x99, 0xa0, 0x4e, 0x3f, 0xca, 0x1f, 0x5b, 0x73, 0xc0, 0x63, 0xbf, 0xc6, 0xf7, 0xaf, 0x0f, 0xfa, 0x3e, 0x8b, 0x26, 0xb0, 0x78, 0xe2, 0x17, 0xfc, 0xf0, 0x07, 0xeb, 0xac, 0x62, 0x4c, 0x83, 0x17, 0xf4, 0xdf, 0xe7, 0xba, 0xc3, 0x7d, 0xdd, 0xe5, 0x36, 0x20, 0xf7, 0x7b, 0x8d, 0xed, 0x25, 0xa3, 0x75, 0x33, 0x68, 0x48, 0x2f, 0x2a, 0x08, 0x43, 0x42, 0x09, 0xaa, 0x37, 0x9a, 0x2d, 0x0c, 0x15, 0x12, 0x90, 0x21, 0x54, 0x18, 0xd5, 0x86, 0x3e, 0x3e, 0x2b, 0x15, 0x65, 0xe9, 0x5d, 0x8f, 0x18, 0x42, 0x86, 0x40, 0x4c, 0x2b, 0x6f, 0xd4, 0x69, 0x84, 0x6b, 0xec, 0xd7, 0x46, 0x9a, 0x8b, 0xb5, 0x08, 0xd3, 0x5a, 0xee, 0xeb, 0x59, 0x00, 0x9e, 0xed, 0x43, 0x11, 0x4d, 0xac, 0x1f, 0x0d, 0x7c, 0xa5, 0xcb, 0x44, 0x15, 0xcf, 0x76, 0xe1, 0xc0, 0x2b, 0xec, 0x15, 0x7f, 0x9e, 0x6c, 0x0d, 0x3f, 0x24, 0xcf, 0xb7, 0x82, 0x2d, 0x3a, 0x2b, 0xa4, 0xe7, 0x0b, 0x9c, 0x5e, 0x15, 0x0a, 0xe1, 0xd1, 0x46, 0xca, 0x57, 0x4d, 0xae, 0x08, 0xb0, 0xc8, 0x99, 0x13, 0xb6, 0x5f, 0xc2, 0x65, 0x10, 0x84, 0x63, 0xe7, 0x05, 0x2b, 0x51, 0xda, 0xe1, 0x88, 0x44, 0x09, 0xb9, 0x6d, 0x1c, 0xfc, 0x39, 0xd4, 0x27, 0xee, 0xde, 0x20, 0x89, 0x0d, 0x14, 0xcd, 0x9c, 0x86, 0xee, 0x17, 0xdb, 0x1b, 0x1c, 0x23, 0xae, 0xca, 0xba, 0xce, 0x27, 0x86, 0x47, 0x5f, 0x0a, 0x7f, 0xac, 0x33, 0x4e, 0xa7, 0xe2, 0x26, 0xab, 0xb4, 0x97, 0xb5, 0x4b, 0x2e, 0xab, 0x43, 0x68, 0x2d, 0x5e, 0xa9, 0xed, 0x18, 0x21, 0xee, 0x25, 0x33, 0x3b, 0x66, 0x6d, 0xd7, 0x39, 0x0d, 0xcf, 0x04, 0x97, 0x26, 0x93, 0x2a, 0xcf, 0xe6, 0xc9, 0xb2, 0xe4, 0xad, 0x87, 0xe2, 0xd5, 0x65, 0xb2, 0x0b, 0x42, 0xe6, 0xa0, 0x2e, 0xe1, 0x94, 0x69, 0x5b, 0x13, 0xe8, 0x24, 0xf2, 0xaf, 0x91, 0xfd, 0xe8, 0x72, 0xbb, 0xab, 0x8c, 0x32, 0x07, 0xae, 0x33, 0x39, 0xd6, 0x54, 0x7b, 0xef, 0xf4, 0xe4, 0xa4, 0x56, 0x16, 0x9b, 0x1b, 0xd5, 0x0e, 0x80, 0x04, 0xb2, 0xf8, 0x24, 0xf4, 0x45, 0xf4, 0x72, 0xd4, 0xf4, 0x5d, 0x57, 0xba, 0x3f, 0xfa, 0xd5, 0x78, 0xbc, 0xe7, 0x85, 0xfe, 0xd9, 0x75, 0x00, 0xfd, 0x59, 0xf1, 0xed, 0xd4, 0x68, 0x31, 0x82, 0xee, 0xcb, 0x87, 0x9f, 0x13, 0x2a, 0xfe, 0xbb, 0xae, 0x96, 0x13, 0x49, 0x2d, 0xa7, 0x04, 0x3a, 0xce, 0x57, 0xb3, 0xab, 0x6b, 0x80, 0x2e, 0x00, 0x90, 0x16, 0x3f, 0x36, 0xfc, 0x21, 0x10, 0xf1, 0x2e, 0x5d, 0xbe, 0x95, 0x20, 0xef, 0xf2, 0xe3, 0xe9, 0xac, 0x5c, 0x76, 0x3c, 0x0a, 0x42, 0xd8, 0x45, 0x9e, 0xd2, 0x0c, 0x42, 0x99, 0x4c, 0x18, 0xe2, 0xfd, 0xb9, 0xf1, 0x46, 0xe7, 0xf3, 0x62, 0xf5, 0x0e, 0xf5, 0x93, 0x1c, 0xac, 0xf1, 0x28, 0x31, 0x6e, 0x28, 0xfa, 0x3f, 0x3c, 0x0d, 0xba, 0x38, 0x4a, 0xed, 0x84, 0x30, 0x4e, 0x9b, 0xbd, 0x70, 0x9d, 0xa7, 0x56, 0x87, 0x72, 0xdf, 0xe2, 0x1d, 0x75, 0x9f, 0xea, 0x8b, 0xc3, 0x31, 0xde, 0x4e, 0xa4, 0xb2, 0xf3, 0xdd, 0x78, 0x1c, 0xa6, 0xc8, 0x17, 0xc6, 0x38, 0x29, 0x2f, 0x8b, 0xfc, 0x1f, 0xd2, 0x5e, 0xab, 0x9b, 0xd9, 0xda, 0xaa, 0x51, 0x68, 0x07, 0xe4, 0x29, 0x51, 0x22, 0xe4, 0x6f, 0x82, 0x04, 0x47, 0x62, 0x07, 0x09, 0x61, 0x80, 0xb0, 0xb2, 0xc9, 0x80, 0x14, 0x67, 0xe0, 0x1e, 0x4a, 0xad, 0xa4, 0x07, 0x85, 0xcc, 0xf9, 0x2c, 0x54, 0x24, 0x69, 0x0f, 0x04, 0x7b, 0x26, 0xae, 0x22, 0x65, 0x3f, 0xa3, 0xa0, 0x80, 0x38, 0xe8, 0xcf, 0x2a, 0x29, 0x68, 0x2b, 0xa8, 0x1e, 0x00, 0x53, 0x76, 0xcb, 0x1c, 0x34, 0x8e, 0x70, 0x27, 0xa8, 0xb2, 0x59, 0x4c, 0xbc, 0xd8, 0x38, 0x04, 0xda, 0xa7, 0x3c, 0x04, 0xe4, 0x4e, 0x55, 0xcf, 0x40, 0xbc, 0x44, 0x10, 0xee, 0xec, 0xe8, 0x0f, 0x80, 0xb6, 0x23, 0x37, 0xbe, 0x82, 0xca, 0xcb, 0x94, 0xd1, 0x6a, 0x85, 0xe1, 0x17, 0x32, 0xc6, 0xa3, 0xa3, 0x69, 0xb9, 0x2b, 0xc9, 0x17, 0x36, 0xda, 0x04, 0x94, 0xd0, 0x18, 0xa0, 0xb8, 0x4f, 0xb4, 0x68, 0xaf, 0xe1, 0xbd, 0xa5, 0xb7, 0x47, 0x84, 0xbe, 0x46, 0x45, 0x55, 0x16, 0x17, 0x8b, 0x2c, 0x79, 0x54, 0xef, 0x29, 0x4d, 0x74, 0x49, 0xcb, 0x01, 0xfc, 0xdb, 0x29, 0x72, 0x96, 0x88, 0xf8, 0xf8, 0x6d, 0xe3, 0xba, 0xb6, 0x0c, 0x63, 0x04, 0xd2, 0x80, 0xb4, 0x04, 0x97, 0x06, 0x6a, 0xc0, 0xda, 0x18, 0x65, 0x04, 0xfc, 0xcb, 0xa5, 0x45, 0xf6, 0x4c, 0x06, 0xc4, 0x7d, 0x98, 0xe5, 0x8a, 0xa7, 0x6e, 0xb8, 0x52, 0x2e, 0xdb, 0x5d, 0xec, 0x9d, 0x0c, 0xd2, 0xa3, 0xcb, 0xff, 0x0a, 0x95, 0x28, 0x3f, 0xa7, 0x10, 0xe5, 0x57, 0xae, 0x44, 0xf1, 0x24, 0x05, 0x89, 0x9d, 0x50, 0x4e, 0x20, 0x2d, 0x8a, 0x5c, 0x32, 0x9c, 0x07, 0x75, 0x93, 0xda, 0xd6, 0x33, 0x78, 0xab, 0x33, 0x5c, 0xf4, 0x26, 0xb5, 0x73, 0x64, 0x3d, 0x0e, 0xa2, 0xfc, 0x91, 0x53, 0xe0, 0xa9, 0xe9, 0x5d, 0x0f, 0xcc, 0x4f, 0x46, 0x25, 0xe3, 0xb3, 0x4c, 0x20, 0xba, 0xfe, 0xe0, 0x3a, 0xbf, 0xfc, 0xda, 0x06, 0xd8, 0x81, 0xe1, 0xcd, 0x2f, 0x3c, 0x79, 0xfc, 0xa7, 0x88, 0x40, 0x0e, 0x9c, 0x96, 0x5c, 0xd7, 0x46, 0xaf, 0xb6, 0x61, 0x30, 0x23, 0x4c, 0x2f, 0x7e, 0x61, 0xd0, 0x68, 0x16, 0xf1, 0x4d, 0x65, 0x6f, 0x94, 0x16, 0x47, 0x2f, 0xf7, 0x30, 0x38, 0x01, 0x5a, 0x55, 0x83, 0xd8, 0xf0, 0xf3, 0x49, 0xd6, 0xdc, 0x90, 0x16, 0x87, 0xdd, 0xd0, 0x6d, 0xf4, 0x78, 0x80, 0xe5, 0x87, 0xbd, 0xf9, 0x2e, 0x03, 0xc1, 0x57, 0x26, 0x8e, 0xc2, 0x40, 0xbe, 0xd6, 0x33, 0xa2, 0x71, 0xdd, 0xe0, 0xfa, 0xc5, 0x5a, 0x39, 0xb9, 0x10, 0x35, 0x7f, 0x9f, 0xf6, 0xc5, 0xcb, 0xc5, 0x6d, 0x55, 0x0c, 0x69, 0xe6, 0x92, 0x3c, 0xe8, 0xfb, 0xf8, 0xed, 0x35, 0x96, 0x6b, 0x1b, 0xf3, 0x7e, 0xb6, 0xd9, 0x9c, 0x1e, 0xbe, 0xa7, 0x67, 0x49, 0x84, 0xd0, 0x2e, 0xde, 0x15, 0xc8, 0xc5, 0x42, 0xc3, 0xbd, 0x5c, 0x86, 0x5d, 0x39, 0xf2, 0xdb, 0x74, 0x65, 0x7e, 0x46, 0x21, 0x41, 0x60, 0xca, 0xce, 0xb2, 0x58, 0x5e, 0x42, 0x67, 0xf3, 0x3b, 0x71, 0x71, 0x9c, 0x4f, 0xd8, 0x26, 0xc1, 0x1a, 0x67, 0xb1, 0xf6, 0x36, 0xb5, 0x20, 0x37, 0xa9, 0x7b, 0x4a, 0x83, 0xe0, 0x12, 0x6c, 0xf1, 0x29, 0x4d, 0xd0, 0x09, 0x0b, 0x29, 0xdf, 0x0c, 0xa1, 0xc7, 0x5b, 0x6b, 0x2c, 0x47, 0x91, 0x26, 0x97, 0xa4, 0x5f, 0xa0, 0x1e, 0xab, 0x3b, 0x7f, 0xc9, 0xe1, 0xd3, 0x96, 0x87, 0x2d, 0x27, 0x0f, 0x64, 0x59, 0xe8, 0x32, 0x13, 0xf0, 0x27, 0x7d, 0x45, 0x20, 0x90, 0xe5, 0x03, 0xb6, 0x35, 0x6c, 0x5f, 0x64, 0x32, 0x96, 0xc3, 0xd1, 0xba, 0xb5, 0x12, 0x7b, 0x88, 0xc4, 0xe6, 0x76, 0xc6, 0x54, 0x17, 0x31, 0x7e, 0x75, 0xbe, 0x9b, 0x9c, 0x77, 0xc2, 0x0a, 0x28, 0x4a, 0x22, 0x61, 0xea, 0x33, 0x62, 0x69, 0xc5, 0xc7, 0x08, 0x97, 0xfd, 0x2e, 0x68, 0xc5, 0x15, 0xb6, 0x58, 0xae, 0x08, 0xfd, 0xfe, 0xe2, 0x8c, 0xa9, 0xb3, 0x96, 0x97, 0x28, 0xd2, 0x60, 0x50, 0x10, 0x31, 0x29, 0xfd, 0x5b, 0x6a, 0x4c, 0xe8, 0x92, 0x4a, 0xed, 0xb8, 0xf9, 0x95, 0x38, 0xe5, 0xd5, 0x99, 0xbe, 0x08, 0x52, 0x1d, 0x19, 0x14, 0x47, 0x33, 0xcf, 0x3d, 0xf8, 0x23, 0x69, 0x43, 0x59, 0xb3, 0x5c, 0xea, 0xb4, 0x89, 0xa0, 0x55, 0x5c, 0x66, 0x45, 0xd8, 0x75, 0x06, 0x1f, 0x25, 0x41, 0x2e, 0x44, 0x3d, 0x1b, 0x75, 0xd1, 0xb3, 0xbd, 0xb0, 0x81, 0x4c, 0x2e, 0x2f, 0x1d, 0x52, 0x7e, 0x0f, 0xc2, 0x26, 0x4c, 0xfe, 0x09, 0x0a, 0x00, 0x09, 0x87, 0x0b, 0x48, 0xec, 0x30, 0x0a, 0xa6, 0xe5, 0xea, 0x8e, 0xb6, 0xc3, 0x3c, 0x58, 0xd7, 0x57, 0x87, 0x86, 0x73, 0x1c, 0x8e, 0x3e, 0x87, 0x89, 0x62, 0x84, 0x75, 0x04, 0x8e, 0x97, 0x73, 0x47, 0xa4, 0x5d, 0x6d, 0x67, 0x34, 0xd1, 0xc2, 0x47, 0x4e, 0xf1, 0x1f, 0xfe, 0x37, 0xa2, 0xb4, 0xbf, 0xaf, 0xc3, 0xf8, 0xdd, 0x0e, 0x08, 0xea, 0x0d, 0x90, 0x34, 0xa9, 0x1d, 0x12, 0x32, 0x0d, 0x26, 0x79, 0x83, 0x96, 0x06, 0x6a, 0x43, 0xb6, 0x2f, 0xe6, 0x1b, 0x2e, 0x79, 0x4e, 0xf0, 0x5a, 0xb4, 0x26, 0xde, 0xa8, 0xe0, 0xff, 0x8d, 0xbe, 0xa5, 0x03, 0x70, 0x6d, 0x12, 0xb2, 0x21, 0xfe, 0x7c, 0xfc, 0xe6, 0xec, 0xfd, 0x71, 0xbb, 0x5e, 0xb1, 0x01, 0xe8, 0x16, 0x82, 0xfd, 0xdd, 0xd9, 0x01, 0xd5, 0xce, 0x35, 0xf5, 0xcd, 0x8b, 0x9c, 0x8c, 0xfe, 0xe4, 0xfc, 0xbb, 0xd7, 0x76, 0x72, 0x39, 0x98, 0x26, 0x26, 0xa5, 0x23, 0x0e, 0x74, 0x9f, 0xbb, 0xa2, 0x9d, 0x94, 0x00, 0x6a, 0x06, 0x26, 0xcd, 0xc5, 0xed, 0xf4, 0x90, 0x64, 0xc1, 0xa9, 0x31, 0x5a, 0xaa, 0x0f, 0x0c, 0xf5, 0xba, 0xa6, 0xd2, 0x7b, 0x3b, 0x6c, 0xa0, 0xf7, 0x42, 0xf4, 0x03, 0x6d, 0x4a, 0x6c, 0x51, 0x42, 0x8e, 0x23, 0x30, 0xb9, 0x51, 0x62, 0x3f, 0xe2, 0xbe, 0x42, 0x07, 0x2f, 0xd9, 0x40, 0xf8, 0x4a, 0x8c, 0x61, 0x53, 0xdf, 0x7b, 0x8e, 0x83, 0xb0, 0xbc, 0x23, 0x87, 0x0b, 0xd1, 0xac, 0xed, 0x3b, 0x36, 0x60, 0xa4, 0x3f, 0x09, 0xf7, 0xf8, 0xfb, 0x18, 0x89, 0x90, 0x9b, 0xcf, 0xee, 0xd4, 0xbb, 0x03, 0x6f, 0xa6, 0x76, 0xdb, 0x64, 0xc2, 0xdb, 0x7f, 0xd8, 0x4e, 0xa4, 0x20, 0x04, 0x0c, 0x8f, 0x61, 0x69, 0x7b, 0xfa, 0x8d, 0xba, 0xfe, 0x73, 0xbb, 0xf7, 0xe5, 0x6f, 0xe9, 0xa2, 0xfb, 0xeb, 0xb1, 0x25, 0x74, 0x27, 0x49, 0x3d, 0x68, 0x04, 0xbb, 0x66, 0xcc, 0x52, 0xb0, 0x0e, 0x11, 0xa7, 0x3a, 0xce, 0x40, 0x70, 0xbc, 0x43, 0xe7, 0x5e, 0xe5, 0xf7, 0xa4, 0x52, 0x86, 0x83, 0x88, 0x99, 0x36, 0x4e, 0xe0, 0x58, 0x04, 0x51, 0x77, 0x7d, 0x57, 0x34, 0x74, 0x51, 0x99, 0xa7, 0x4c, 0xcb, 0x2a, 0x5e, 0x00, 0x06, 0x62, 0x72, 0xb4, 0x5b, 0x03, 0x6b, 0xe2, 0xd9, 0xe3, 0x67, 0x24, 0xdc, 0x91, 0xa3, 0x24, 0x3d, 0xd9, 0x04, 0xe1, 0x19, 0xf1, 0x53, 0x9e, 0x73, 0x14, 0x39, 0x44, 0xc6, 0x91, 0x2e, 0xda, 0x93, 0x6c, 0xc1, 0x5d, 0xe0, 0xc6, 0xde, 0x10, 0x21, 0x98, 0x52, 0xdf, 0x89, 0x11, 0xe6, 0xa2, 0xa1, 0x9d, 0xbc, 0xfe, 0x94, 0xec, 0xfc, 0x57, 0x6e, 0x99, 0xe9, 0xaa, 0xe3, 0x39, 0xf8, 0x9b, 0x17, 0xeb, 0x80, 0xf2, 0xc9, 0x39, 0xa7, 0x85, 0xc2, 0x3a, 0xe0, 0x1c, 0x31, 0x95, 0xb4, 0xf6, 0x11, 0x4d, 0x3c, 0x50, 0xb5, 0xa6, 0x5c, 0x91, 0xd2, 0x06, 0xf8, 0x84, 0x48, 0xd7, 0x5e, 0x73, 0x58, 0x0f, 0x4e, 0xf2, 0x69, 0x97, 0x2d, 0x84, 0x12, 0x91, 0x76, 0x02, 0x98, 0xd8, 0xe2, 0x6e, 0x55, 0xe5, 0x6a, 0x94, 0x7c, 0x28, 0x90, 0x89, 0x27, 0x64, 0x27, 0x62, 0x22, 0x2f, 0xcc, 0x0e, 0x18, 0x9a, 0x26, 0x28, 0x8f, 0x08, 0x13, 0x02, 0x9f, 0xf3, 0xef, 0x9d, 0xb0, 0xc9, 0x4e, 0x88, 0x14, 0xf7, 0xd6, 0xa2, 0x98, 0x0b, 0xdf, 0x7a, 0x13, 0xf6, 0x37, 0xe4, 0xfe, 0x6c, 0x44, 0xea, 0x66, 0x39, 0x18, 0x9b, 0x42, 0xe0, 0xd9, 0x62, 0x31, 0x64, 0x10, 0x75, 0x82, 0x94, 0x26, 0xe5, 0x9e, 0x8b, 0xa4, 0x91, 0xc0, 0xe6, 0x97, 0xe0, 0x07, 0x92, 0x05, 0xb5, 0xde, 0x23, 0xd4, 0x00, 0x29, 0xd8, 0x88, 0xa4, 0xbd, 0x6b, 0x64, 0x8d, 0x0a, 0xf7, 0x9c, 0x3f, 0x04, 0xbb, 0xf3, 0x77, 0xe5, 0xa7, 0xb1, 0x8e, 0x64, 0x21, 0x2c, 0xe9, 0xf4, 0xea, 0xb2, 0x5a, 0x71, 0x57, 0xc4, 0x58, 0xcb, 0x46, 0x4f, 0xeb, 0xe6, 0x27, 0x95, 0x24, 0xea, 0xac, 0xe1, 0xa9, 0xf0, 0xab, 0x27, 0xaf, 0x5b, 0xdd, 0xd5, 0x69, 0x27, 0x50, 0xe7, 0x16, 0x1f, 0x4e, 0x60, 0x47, 0xc9, 0x57, 0x80, 0x1b, 0xe9, 0x24, 0x87, 0x1d, 0xcd, 0x99, 0x18, 0x93, 0x3b, 0xf7, 0x9b, 0xf8, 0x70, 0x32, 0x06, 0x6b, 0xaa, 0x3c, 0x82, 0x0e, 0x0b, 0x5a, 0x31, 0xa6, 0x68, 0x4e, 0x0d, 0xae, 0x88, 0x1a, 0x2e, 0xb3, 0xca, 0x7e, 0x24, 0x4c, 0x92, 0xbc, 0x5a, 0x96, 0x33, 0x2a, 0xea, 0xca, 0xee, 0xdd, 0x0b, 0x7a, 0x50, 0xf7, 0x42, 0x6a, 0xe1, 0x6a, 0x7f, 0x5d, 0x18, 0xc4, 0x50, 0x29, 0x51, 0x5e, 0x39, 0x8f, 0x35, 0x55, 0xe8, 0x9a, 0x41, 0x89, 0x76, 0x29, 0xcd, 0xf8, 0x65, 0x7f, 0x09, 0x45, 0x52, 0x4e, 0x1b, 0x6f, 0x05, 0xf4, 0x40, 0x7c, 0x38, 0x66, 0xac, 0x91, 0x95, 0x51, 0x81, 0x14, 0x2c, 0xca, 0xfb, 0x56, 0x46, 0x0f, 0x06, 0xa7, 0x6c, 0x7e, 0xe8, 0xb0, 0x67, 0xbd, 0x23, 0xe6, 0xc3, 0x89, 0x0f, 0xd7, 0x3e, 0x60, 0x3d, 0x61, 0xcc, 0x21, 0x76, 0xc0, 0x82, 0x61, 0x1d, 0x6a, 0x58, 0xce, 0x3e, 0xe6, 0xdd, 0xb1, 0x0f, 0xf6, 0x1e, 0xb0, 0x7c, 0x23, 0xd8, 0x85, 0x45, 0x61, 0xb4, 0xbb, 0x75, 0x35, 0xcd, 0x3e, 0x62, 0x6e, 0x4d, 0x5a, 0x5d, 0x66, 0xcd, 0xc7, 0xcd, 0x1b, 0xb2, 0x10, 0x34, 0x85, 0xbb, 0x25, 0xda, 0x8c, 0x5b, 0x5e, 0x21, 0xf8, 0xb2, 0xa9, 0xa0, 0x0b, 0x18, 0x05, 0x8f, 0x5b, 0xb9, 0x37, 0xfd, 0x1b, 0xe2, 0x7d, 0x8f, 0x31, 0x69, 0xd9, 0x30, 0x5b, 0x95, 0x79, 0x61, 0x1b, 0xc7, 0x80, 0xc7, 0x78, 0x73, 0x8c, 0x21, 0x2f, 0x6d, 0x0a, 0x57, 0x2d, 0x3f, 0x51, 0x89, 0x95, 0x55, 0x02, 0x3e, 0x46, 0x9a, 0x83, 0x78, 0x8b, 0xe3, 0xa7, 0xf5, 0xb4, 0x79, 0x49, 0x52, 0x42, 0x68, 0x9b, 0xd1, 0xfa, 0x07, 0x4d, 0x45, 0xc5, 0x3d, 0xb3, 0xf1, 0x3f, 0x68, 0x6f, 0x64, 0x77, 0x76, 0xab, 0x9b, 0x99, 0x05, 0xb2, 0xb9, 0x71, 0x17, 0x48, 0x45, 0x3b, 0x32, 0x9b, 0xb5, 0xe1, 0x33, 0x65, 0x30, 0xf1, 0x60, 0x73, 0x45, 0xc0, 0xee, 0xfd, 0x74, 0xd1, 0x84, 0xfa, 0x4f, 0xf0, 0xf1, 0x0a, 0x9d, 0xab, 0x65, 0x77, 0xe5, 0x30, 0xfa, 0xb7, 0x46, 0x9e, 0x76, 0x53, 0x64, 0xee, 0x6e, 0xe9, 0xbf, 0xac, 0x22, 0x7b, 0xb4, 0x81, 0xdd, 0xc9, 0x67, 0xbb, 0x0c, 0x6f, 0x96, 0x91, 0x5b, 0x96, 0x29, 0x01, 0x39, 0x5b, 0xf7, 0xdf, 0x2b, 0x9e, 0x79, 0xef, 0x1e, 0x57, 0xcb, 0x7b, 0xae, 0xb8, 0x79, 0xc0, 0xad, 0x8a, 0x91, 0x38, 0xec, 0xaa, 0x82, 0x5b, 0x29, 0x8d, 0xad, 0x7b, 0x76, 0xbe, 0x6f, 0x06, 0x2d, 0x1a, 0xec, 0x9f, 0x89, 0x3c, 0x19, 0x9d, 0x8e, 0xdb, 0x5c, 0x73, 0xba, 0xd5, 0x9d, 0x9b, 0x59, 0x7c, 0x38, 0x99, 0xae, 0x7b, 0x4b, 0xb6, 0x67, 0xe0, 0xf9, 0x2e, 0xb9, 0x93, 0x88, 0x31, 0x1b, 0x43, 0xda, 0xd0, 0xeb, 0xfd, 0x93, 0xd8, 0x03, 0xd9, 0xe7, 0x8b, 0xc2, 0xb7, 0xc8, 0xe9, 0x8b, 0x46, 0xf2, 0x6e, 0x28, 0x65, 0xf1, 0x22, 0xd6, 0xf6, 0xb8, 0xb9, 0x97, 0x30, 0xe2, 0xae, 0x48, 0xc8, 0x43, 0xa2, 0x2a, 0x1a, 0x51, 0x89, 0x92, 0x0a, 0xc0, 0xb8, 0x19, 0xb5, 0xf8, 0x08, 0xf3, 0xe6, 0x13, 0xfe, 0x66, 0xc2, 0x79, 0x5b, 0x0c, 0x84, 0x4c, 0xb1, 0x43, 0x51, 0x43, 0xb4, 0x57, 0x71, 0x9d, 0x89, 0x9d, 0x20, 0x8f, 0x73, 0xd7, 0x90, 0xb0, 0x41, 0x73, 0x27, 0x79, 0xae, 0x1e, 0x05, 0x70, 0xdb, 0xd9, 0xe5, 0xcc, 0x6f, 0x77, 0xee, 0x2d, 0xbf, 0x1a, 0xf0, 0x16, 0x5c, 0x9a, 0xc5, 0xe3, 0x8f, 0x68, 0x91, 0x48, 0xa2, 0x86, 0x24, 0x50, 0x0f, 0x76, 0x93, 0xf7, 0x12, 0xda, 0x24, 0xa5, 0xee, 0xae, 0xc1, 0x04, 0xcd, 0x00, 0x3b, 0xf9, 0xc8, 0x08, 0x43, 0x2e, 0x0a, 0x20, 0x05, 0x89, 0x10, 0xf9, 0x63, 0x81, 0xe2, 0x5d, 0x8d, 0x14, 0x2b, 0x04, 0xd8, 0xde, 0xc1, 0xe8, 0x60, 0x90, 0x58, 0xdb, 0xd3, 0xd3, 0x9d, 0x91, 0xbc, 0x28, 0x58, 0xe0, 0xf4, 0xe9, 0xae, 0x9f, 0xe1, 0x3d, 0x7d, 0xb8, 0x0e, 0xbd, 0xc2, 0x70, 0x2d, 0x3b, 0x83, 0xe5, 0x26, 0xbd, 0x0b, 0x15, 0xd3, 0xfd, 0xe1, 0xa3, 0x67, 0xcf, 0x5a, 0xf2, 0xbc, 0xf6, 0x70, 0xd4, 0x1f, 0xef, 0xef, 0x63, 0x6d, 0x41, 0x4d, 0xb4, 0xf9, 0xc5, 0xf0, 0x19, 0x5e, 0x6c, 0xbf, 0x56, 0x67, 0xe6, 0x08, 0x66, 0xfd, 0xef, 0x0d, 0xe9, 0x37, 0x91, 0xcf, 0xc1, 0x9f, 0xd2, 0xfb, 0xd6, 0x33, 0xfa, 0x5c, 0xe4, 0x2d, 0x3c, 0xcc, 0xdb, 0x58, 0xce, 0xe7, 0xe4, 0xc9, 0xa2, 0x27, 0x15, 0x99, 0xe7, 0x26, 0xad, 0x66, 0xe1, 0x72, 0xf7, 0x07, 0xc3, 0x83, 0xbe, 0xe5, 0x22, 0x9a, 0x8c, 0x04, 0x38, 0x3a, 0x4f, 0x32, 0x14, 0x8d, 0x01, 0xc2, 0x05, 0x42, 0xdd, 0x81, 0x0e, 0xcc, 0x8c, 0x0e, 0x9e, 0x3d, 0x1b, 0xd0, 0xcc, 0x1e, 0x3f, 0x7b, 0xd6, 0x5b, 0x10, 0xee, 0x7d, 0xe6, 0xa6, 0x74, 0xee, 0x27, 0x7a, 0xdd, 0x11, 0x4d, 0x4d, 0x76, 0x4e, 0xfc, 0x3b, 0xf4, 0x9b, 0x2f, 0x92, 0x77, 0x67, 0x17, 0xc7, 0x9e, 0x63, 0x06, 0xd7, 0x8b, 0x23, 0x86, 0x5e, 0x8a, 0x28, 0x42, 0xb0, 0x2b, 0xb4, 0xf2, 0x82, 0xe1, 0x4b, 0x36, 0x49, 0x68, 0x4c, 0xa2, 0x58, 0x45, 0x7d, 0x82, 0xff, 0x16, 0x66, 0x44, 0x90, 0x71, 0x3c, 0xcb, 0x2f, 0xf3, 0xc6, 0x87, 0x6d, 0xda, 0x31, 0xa7, 0xbd, 0x0b, 0x17, 0x07, 0x27, 0xba, 0x49, 0x34, 0x65, 0xbb, 0xa6, 0xf2, 0x0e, 0xce, 0x84, 0xdd, 0x26, 0x6b, 0x6a, 0x3b, 0x28, 0xb0, 0xc8, 0x16, 0xb3, 0x5a, 0x05, 0x21, 0x3f, 0x3e, 0xc4, 0x83, 0x72, 0x5b, 0x60, 0xae, 0x72, 0x8f, 0xf7, 0x14, 0xa0, 0x96, 0xfc, 0xe9, 0xfe, 0x78, 0x0a, 0xdc, 0x59, 0x48, 0xc4, 0xd0, 0xc2, 0x2c, 0x1a, 0xc7, 0x4f, 0x95, 0xdd, 0xae, 0x9d, 0xcb, 0xd3, 0x7a, 0xe7, 0x0a, 0x3a, 0x87, 0x00, 0x8f, 0x90, 0x9d, 0xf8, 0xb3, 0x6c, 0xa5, 0x29, 0xa5, 0x45, 0x7b, 0x1c, 0x43, 0xcb, 0xf3, 0xfc, 0x72, 0x5d, 0xc5, 0xd3, 0x2f, 0xff, 0xe2, 0xca, 0x84, 0xb4, 0x69, 0x40, 0x7a, 0x93, 0x6a, 0x79, 0x12, 0x1a, 0x3d, 0xe8, 0xbd, 0x56, 0x23, 0x58, 0xcb, 0x81, 0xd0, 0xd2, 0x21, 0xb0, 0xa4, 0xc9, 0x3b, 0x31, 0x37, 0x9a, 0x0c, 0x39, 0x09, 0xb4, 0x6d, 0xa7, 0x34, 0x2f, 0x48, 0x1b, 0x57, 0x96, 0x25, 0x2e, 0x44, 0x3a, 0x6f, 0x12, 0xa7, 0xa9, 0x6c, 0x41, 0x98, 0x53, 0xb7, 0xbd, 0x70, 0xbe, 0x7b, 0x7a, 0x12, 0xde, 0x96, 0xab, 0xd2, 0x6b, 0x13, 0x12, 0x82, 0x36, 0x08, 0x28, 0x0d, 0xb8, 0x0f, 0x1f, 0xd1, 0xcc, 0xa8, 0xd0, 0x8b, 0x32, 0xa5, 0x63, 0x54, 0xcf, 0x09, 0x47, 0xd3, 0x59, 0x3b, 0x60, 0xc4, 0x31, 0x3d, 0xdb, 0x20, 0xab, 0x83, 0x8e, 0x5a, 0x4e, 0x99, 0xb0, 0xbc, 0x1d, 0xa8, 0x08, 0x88, 0xd4, 0x73, 0x83, 0x30, 0x9f, 0x32, 0x1f, 0x61, 0x84, 0x8c, 0xdd, 0x51, 0x12, 0x9a, 0xbd, 0x44, 0xf0, 0x7c, 0x5a, 0xb6, 0xcf, 0x05, 0xfa, 0x9d, 0x92, 0x90, 0xa4, 0x09, 0xab, 0x38, 0x1e, 0x9f, 0xfc, 0xf7, 0xe3, 0x5f, 0x33, 0xea, 0x54, 0xa5, 0x37, 0xb6, 0x70, 0xf0, 0x3b, 0x06, 0xac, 0x94, 0x68, 0x90, 0x45, 0xaa, 0x48, 0x17, 0x62, 0xc4, 0x53, 0x4f, 0x4d, 0x48, 0x0f, 0xc4, 0x15, 0xa5, 0x9d, 0xb1, 0x21, 0xac, 0x90, 0xb6, 0xc9, 0x6b, 0x46, 0xf0, 0x0a, 0xea, 0x34, 0x44, 0x32, 0x3a, 0x4a, 0xbe, 0xd8, 0x09, 0xc8, 0x07, 0xb9, 0x84, 0x2b, 0x11, 0x96, 0x3d, 0x79, 0x7b, 0x19, 0x51, 0x2a, 0x0c, 0x17, 0x00, 0x12, 0x91, 0x26, 0x65, 0xe6, 0x7a, 0x4f, 0x4f, 0x42, 0xbf, 0xd2, 0x3e, 0xe3, 0xf6, 0x0d, 0x14, 0xa0, 0xaa, 0x92, 0x17, 0x1f, 0xde, 0x9f, 0xf6, 0x94, 0x4b, 0x8e, 0x71, 0x06, 0xb4, 0x59, 0x5b, 0xef, 0x33, 0xa0, 0x99, 0x55, 0xc9, 0x79, 0x7a, 0x99, 0x6d, 0xf9, 0x00, 0x72, 0xaa, 0x2a, 0x62, 0xf9, 0xe2, 0x7f, 0x88, 0xb9, 0x53, 0xfc, 0xb6, 0x1b, 0xc4, 0xc4, 0x5d, 0x58, 0xd8, 0xaf, 0x71, 0x9c, 0x2f, 0x52, 0xd9, 0xbb, 0x75, 0x45, 0x01, 0x7d, 0xec, 0x7c, 0xa4, 0x95, 0x14, 0xbf, 0xde, 0x46, 0xfd, 0x74, 0x19, 0xa6, 0x14, 0x09, 0x22, 0x3f, 0x59, 0xb2, 0xf5, 0x47, 0x72, 0xbf, 0x6f, 0x79, 0x48, 0x97, 0xc3, 0x2c, 0x0c, 0xb2, 0xe9, 0x56, 0x30, 0x46, 0xa1, 0x75, 0x45, 0xb1, 0x2b, 0xbf, 0xe5, 0xbe, 0xaf, 0xe5, 0x82, 0xad, 0xaa, 0x8c, 0xf0, 0x78, 0x91, 0xc1, 0x1b, 0xb4, 0x0a, 0xe3, 0xb4, 0x63, 0x86, 0x60, 0x25, 0xfb, 0xef, 0x54, 0xe6, 0xf7, 0x5c, 0x22, 0x2d, 0xac, 0x06, 0xd9, 0xa9, 0x49, 0x9c, 0x5a, 0x7b, 0x2c, 0xc5, 0x16, 0x9b, 0x2e, 0xa8, 0x21, 0x0e, 0x7b, 0xbf, 0x24, 0xf4, 0x3e, 0x2b, 0xa9, 0x89, 0x0a, 0xcd, 0x27, 0x2d, 0xac, 0x3f, 0xb9, 0x75, 0xb2, 0xbf, 0x3a, 0xd4, 0xa1, 0x0b, 0x00, 0xbd, 0x1c, 0x48, 0x97, 0xa7, 0xa1, 0xa1, 0x8e, 0x42, 0x2a, 0xe1, 0xbd, 0x63, 0xf5, 0x68, 0xef, 0x3f, 0xbc, 0xd6, 0x21, 0x5e, 0xf3, 0x8f, 0x1e, 0xc4, 0x5c, 0x6f, 0xba, 0x0d, 0xaa, 0x54, 0x40, 0x30, 0x41, 0xfb, 0x11, 0x57, 0x30, 0x2b, 0xd2, 0x32, 0xea, 0xce, 0x1f, 0x3a, 0xa5, 0xe9, 0x15, 0x57, 0x6e, 0x0e, 0x5f, 0xe7, 0x46, 0x86, 0xd4, 0x0c, 0x40, 0x04, 0x25, 0x97, 0x6b, 0x0f, 0xf5, 0x1a, 0xc2, 0x37, 0x92, 0x05, 0xe9, 0x0a, 0x1c, 0x25, 0x41, 0xe2, 0xb3, 0x7d, 0xc7, 0x86, 0x6c, 0x0c, 0x45, 0xdc, 0xeb, 0x2c, 0xf6, 0x14, 0x86, 0xd4, 0xf9, 0x2b, 0xb0, 0x6d, 0xda, 0xc3, 0x80, 0x6f, 0x87, 0x91, 0x08, 0x91, 0xdd, 0x51, 0x58, 0x20, 0x64, 0xcd, 0x38, 0xbc, 0x1e, 0xe9, 0xc1, 0x14, 0x98, 0x9a, 0xb6, 0x73, 0x39, 0x4b, 0xa5, 0x80, 0xc4, 0x28, 0x2f, 0xc5, 0x36, 0xc2, 0xe1, 0xd8, 0x09, 0x83, 0xf0, 0x71, 0x69, 0xea, 0xd4, 0x0c, 0x6c, 0xe3, 0xe6, 0xda, 0x97, 0x59, 0x9a, 0xf8, 0xc4, 0x05, 0xee, 0x5d, 0x6b, 0x55, 0x48, 0x1a, 0xf5, 0x09, 0x8f, 0x62, 0x03, 0x45, 0x29, 0x08, 0x2f, 0xb1, 0x10, 0x3a, 0xf2, 0x77, 0xcc, 0x13, 0x9e, 0x0c, 0xe4, 0x7c, 0x8d, 0xe4, 0xf7, 0x43, 0xd7, 0x79, 0x63, 0xe7, 0x2e, 0x33, 0xfa, 0xb5, 0x05, 0xd5, 0x52, 0x43, 0x2a, 0x52, 0xfd, 0x99, 0x70, 0x77, 0xd0, 0xba, 0x55, 0x98, 0x02, 0x13, 0xc4, 0x8b, 0x2c, 0xf2, 0x96, 0x1b, 0x2d, 0x00, 0x89, 0x96, 0x45, 0x76, 0x4b, 0x18, 0xe0, 0xfd, 0xc3, 0x85, 0x4a, 0xf6, 0x77, 0x2f, 0xdf, 0xbf, 0x3b, 0x79, 0xf7, 0xd5, 0xf3, 0xe4, 0xf8, 0x36, 0xab, 0xa6, 0xd4, 0x89, 0xf9, 0x6f, 0xeb, 0x59, 0x3e, 0x05, 0x9b, 0x90, 0x06, 0xc1, 0x7e, 0xc8, 0xdb, 0x58, 0x01, 0x99, 0xf8, 0x57, 0x49, 0xe0, 0x06, 0x85, 0x30, 0x92, 0xcb, 0x4b, 0xc0, 0x11, 0xc6, 0x8a, 0x2a, 0x2f, 0xd7, 0x1e, 0xf9, 0x4c, 0xb9, 0xa5, 0x21, 0x62, 0x01, 0x88, 0x91, 0x5e, 0xc9, 0x5e, 0x93, 0xd3, 0x35, 0x79, 0x7d, 0x7a, 0xda, 0xd3, 0x1f, 0x9a, 0xa7, 0xcf, 0xa5, 0xbe, 0x18, 0xc2, 0xe6, 0x9b, 0x52, 0x2c, 0xcf, 0x88, 0x7f, 0xe2, 0x35, 0x2d, 0x86, 0x07, 0x30, 0xb0, 0xef, 0xc2, 0x4c, 0x4e, 0xa4, 0x19, 0x23, 0x39, 0x10, 0x27, 0x9c, 0x57, 0x33, 0xd8, 0x42, 0x86, 0x43, 0x96, 0xf3, 0x86, 0xf4, 0xa3, 0x96, 0x24, 0x6d, 0xf7, 0x05, 0xda, 0x94, 0x14, 0xc6, 0x31, 0xa3, 0x36, 0x4e, 0x94, 0x84, 0x24, 0x91, 0xb3, 0x6a, 0x08, 0x92, 0x15, 0x43, 0x34, 0x93, 0x42, 0xaa, 0x59, 0x90, 0x50, 0x9b, 0xda, 0xce, 0xe6, 0x35, 0x71, 0xcb, 0x90, 0x5d, 0xdc, 0x64, 0x95, 0x98, 0x9e, 0xb6, 0x88, 0xd8, 0x30, 0xbb, 0x51, 0x32, 0x2e, 0xcd, 0xf3, 0x91, 0xaa, 0x05, 0xed, 0xb8, 0xe8, 0xba, 0xaa, 0xa6, 0x8d, 0xa4, 0xd0, 0xda, 0xbc, 0x2a, 0x34, 0xa3, 0x42, 0xcc, 0xad, 0xbd, 0xde, 0x48, 0xbf, 0x67, 0xa2, 0xff, 0x49, 0x66, 0x15, 0x8a, 0x3b, 0x0d, 0xed, 0x10, 0x91, 0x6c, 0x0d, 0x0d, 0x3b, 0xdd, 0x42, 0x23, 0x3d, 0xea, 0x42, 0xed, 0x8d, 0x74, 0x4f, 0x2f, 0x55, 0x3f, 0x4d, 0xbd, 0xbb, 0xe0, 0x7b, 0x5a, 0xd4, 0xa9, 0xd5, 0xe9, 0x39, 0x4e, 0xa5, 0x51, 0x98, 0x8d, 0x95, 0x32, 0x4f, 0xa2, 0xae, 0x36, 0x59, 0x13, 0x04, 0xc0, 0xcf, 0x6c, 0x0b, 0x48, 0x3c, 0xe6, 0x17, 0xca, 0xfb, 0xaf, 0x8b, 0xbc, 0x19, 0x38, 0xef, 0x02, 0x69, 0x05, 0x41, 0xb9, 0xb6, 0xb1, 0xf1, 0x46, 0xbb, 0xb1, 0xbc, 0x1a, 0xe1, 0x8b, 0x02, 0xe4, 0x9a, 0x5e, 0xbb, 0x7c, 0xaf, 0x5e, 0xce, 0x37, 0xd2, 0xfc, 0xf8, 0xae, 0x8c, 0x06, 0xe4, 0x81, 0xe7, 0x0f, 0xe7, 0xe1, 0xc0, 0x4c, 0xfc, 0x62, 0x16, 0x2f, 0x5a, 0xe9, 0x70, 0x09, 0xc2, 0xe1, 0xbc, 0x82, 0xaf, 0x7e, 0x26, 0x2c, 0x51, 0x9b, 0xbc, 0xb8, 0x2e, 0x3f, 0xb1, 0xbc, 0x47, 0xa0, 0x2b, 0x9a, 0xa2, 0x92, 0xf7, 0x96, 0xb5, 0xb0, 0x5f, 0x8a, 0x77, 0x55, 0xe6, 0xce, 0x22, 0xcb, 0xab, 0x24, 0x30, 0x8b, 0x91, 0x60, 0x8c, 0x2d, 0x01, 0xb4, 0xe2, 0xa9, 0x9b, 0xef, 0xaf, 0x77, 0x69, 0xa0, 0x0d, 0xc5, 0x93, 0x6c, 0x51, 0x67, 0x03, 0xaf, 0x1a, 0x50, 0x85, 0x8d, 0x4a, 0x1b, 0x24, 0x7f, 0xb2, 0x38, 0xd9, 0x24, 0x49, 0x46, 0xdd, 0x8e, 0xa5, 0x1d, 0x23, 0x16, 0xc1, 0x4d, 0x8e, 0x3a, 0x4d, 0xaf, 0xca, 0x32, 0x2a, 0xb6, 0x9d, 0x0c, 0x81, 0x4a, 0x03, 0x40, 0x8c, 0x1e, 0xfd, 0xc1, 0xc2, 0x87, 0xb9, 0x60, 0x5d, 0x90, 0xe0, 0x6b, 0xa1, 0x06, 0x45, 0x1b, 0xf4, 0x00, 0x4a, 0xdb, 0xd2, 0x8d, 0x27, 0x14, 0xc8, 0xe6, 0x58, 0xf2, 0x02, 0xff, 0xae, 0x23, 0x8f, 0x9b, 0x16, 0x7a, 0x82, 0xbf, 0x29, 0x51, 0x61, 0xc7, 0x09, 0x68, 0x2e, 0x2d, 0x11, 0x74, 0x03, 0xa3, 0xa9, 0x68, 0x07, 0x34, 0x30, 0xcf, 0xbc, 0x01, 0x03, 0xf9, 0xfd, 0xe1, 0x7e, 0x1f, 0x93, 0x67, 0x35, 0x56, 0xab, 0x5c, 0xe9, 0x3a, 0x5a, 0xe3, 0x9c, 0x05, 0xa1, 0x2b, 0x0c, 0x20, 0x01, 0xb2, 0x5e, 0x25, 0x68, 0x7d, 0x45, 0x4d, 0xf0, 0x7a, 0xf6, 0x7f, 0xf4, 0x5b, 0xf4, 0x3e, 0x74, 0xfc, 0xeb, 0xbd, 0x77, 0xc6, 0x34, 0x52, 0xb4, 0xbc, 0x96, 0x79, 0x89, 0xe7, 0x2a, 0xf1, 0x74, 0x76, 0xa7, 0x37, 0xc0, 0xb2, 0x07, 0xb3, 0xe3, 0x1c, 0x83, 0x3c, 0x64, 0xc9, 0xc6, 0xa6, 0x5d, 0xae, 0x22, 0x0c, 0xcb, 0x5e, 0x02, 0xcd, 0x52, 0x49, 0x1d, 0xda, 0x65, 0xfa, 0xc9, 0xf6, 0xee, 0x0b, 0xd1, 0x57, 0x84, 0x93, 0xb2, 0x31, 0x9e, 0x4a, 0xb6, 0x26, 0x76, 0x84, 0xbe, 0xd4, 0x16, 0x8c, 0xc8, 0x3a, 0x1b, 0x46, 0xbd, 0xfd, 0x8a, 0x59, 0x13, 0x82, 0x9f, 0xc1, 0x92, 0x72, 0x60, 0xf8, 0x5b, 0xfc, 0xfa, 0x56, 0xb2, 0x43, 0x5c, 0x75, 0x57, 0xb5, 0xd7, 0xb0, 0xfe, 0xd9, 0xd5, 0xd4, 0x81, 0xfd, 0xa6, 0x75, 0x90, 0x39, 0x0b, 0xed, 0x35, 0x31, 0x46, 0x5e, 0x65, 0x14, 0x00, 0x6a, 0xf9, 0x26, 0x95, 0x83, 0xf3, 0xf5, 0x22, 0x66, 0xe6, 0xe0, 0x66, 0xdb, 0x66, 0xac, 0x79, 0x5d, 0xaf, 0xb5, 0x97, 0x80, 0xc3, 0x99, 0x11, 0xd0, 0xc1, 0x85, 0x99, 0x11, 0x0a, 0x5a, 0x16, 0xdc, 0xe2, 0x2c, 0x4a, 0xb9, 0x70, 0x0d, 0x73, 0x03, 0x73, 0x51, 0x30, 0xd9, 0x8a, 0xe2, 0xb9, 0x69, 0x17, 0x3a, 0xdb, 0x46, 0x8d, 0xb6, 0x80, 0xba, 0xb3, 0xe7, 0x41, 0xd2, 0xe0, 0xd6, 0xd9, 0xf9, 0xc5, 0xc9, 0xd9, 0xbb, 0x71, 0xf2, 0x5f, 0xb7, 0x36, 0x96, 0x77, 0xb5, 0x81, 0x95, 0xbf, 0x1f, 0xb8, 0x33, 0x49, 0x5e, 0x88, 0x9f, 0xa1, 0xcf, 0x36, 0xf6, 0x34, 0xf8, 0xa9, 0x91, 0xde, 0x86, 0xbd, 0xea, 0x9b, 0x82, 0xed, 0x26, 0x87, 0xd5, 0x41, 0x32, 0x08, 0xb4, 0x65, 0x1f, 0xf6, 0xc1, 0xb7, 0xa1, 0x99, 0xd7, 0x3b, 0x93, 0xa5, 0x33, 0x7a, 0x0f, 0x07, 0x66, 0x2c, 0x92, 0x96, 0xfd, 0x82, 0xbd, 0x93, 0xb7, 0xb0, 0xcd, 0x37, 0xa4, 0x9b, 0xe2, 0xc1, 0x1d, 0xe6, 0x9a, 0xa2, 0x68, 0xd5, 0x61, 0x86, 0xe0, 0x57, 0xc7, 0x17, 0xbb, 0x52, 0xe8, 0x6a, 0xe7, 0x07, 0x4f, 0x97, 0xa8, 0x3d, 0xa9, 0xd5, 0xcc, 0xb4, 0xb4, 0x95, 0x81, 0xdc, 0x8c, 0xf6, 0xbc, 0x48, 0x8b, 0x68, 0x09, 0x1b, 0x69, 0xb4, 0xaf, 0xcc, 0x76, 0x10, 0x1f, 0x56, 0x8e, 0xac, 0xde, 0x13, 0xaf, 0x7f, 0x0e, 0xe3, 0x32, 0x9d, 0x7f, 0xb8, 0xc0, 0x80, 0xaf, 0x8f, 0x4f, 0x8f, 0x2f, 0x8e, 0xbb, 0x96, 0xfb, 0x84, 0xc1, 0x2c, 0x51, 0xea, 0xd2, 0x64, 0xd3, 0xab, 0xa2, 0x5c, 0x94, 0x97, 0xb9, 0x34, 0x7c, 0x4d, 0xbe, 0xcb, 0x26, 0xaf, 0x5f, 0x7e, 0x4b, 0xfa, 0x04, 0x79, 0x9c, 0xce, 0xdf, 0x9f, 0x9d, 0xbf, 0x39, 0x79, 0xf7, 0x7a, 0x90, 0xbc, 0x3a, 0x3b, 0xff, 0xcb, 0x20, 0x79, 0x7b, 0xf6, 0xed, 0x71, 0x24, 0xc5, 0x99, 0x10, 0x6e, 0x03, 0x8a, 0xb1, 0xad, 0xfa, 0x58, 0x9c, 0xb1, 0xe9, 0x8d, 0x36, 0xef, 0x1d, 0x31, 0x42, 0x35, 0x00, 0x75, 0x29, 0xfc, 0xd6, 0xec, 0xdd, 0x20, 0xf9, 0xfa, 0xf8, 0xe5, 0xeb, 0x41, 0x00, 0x60, 0x3e, 0xe6, 0x55, 0xd1, 0xea, 0xec, 0x92, 0x01, 0x7b, 0xcd, 0xd6, 0x07, 0x74, 0x04, 0x0e, 0x72, 0xf1, 0x95, 0x35, 0x04, 0x8b, 0x22, 0xfd, 0x59, 0x5f, 0xe6, 0x84, 0x20, 0xf1, 0xf7, 0xb6, 0x58, 0x6e, 0x95, 0x5d, 0x40, 0x5d, 0xf3, 0x15, 0x6d, 0x81, 0x6b, 0x42, 0x66, 0xbd, 0xd6, 0x61, 0xd9, 0xe3, 0xee, 0x41, 0x0c, 0x1a, 0xb4, 0x90, 0x02, 0xc0, 0x8e, 0xd8, 0xf5, 0x98, 0x4a, 0x47, 0x43, 0xf4, 0x2c, 0x32, 0x66, 0x12, 0x69, 0xd5, 0x73, 0x87, 0x12, 0x1b, 0xd7, 0xb0, 0x55, 0x45, 0x28, 0x15, 0x4c, 0x5d, 0x80, 0x9b, 0x68, 0xfb, 0x74, 0x8b, 0x6c, 0x53, 0xcf, 0xef, 0xf9, 0xc7, 0x2a, 0x63, 0x83, 0x4a, 0xeb, 0xb9, 0x21, 0xcc, 0x8c, 0x53, 0xa6, 0x70, 0x46, 0xce, 0x2d, 0x90, 0x0c, 0x4f, 0xd4, 0x29, 0xb1, 0x49, 0xc1, 0x92, 0xcb, 0x22, 0x8e, 0x19, 0x00, 0x45, 0xa9, 0xc3, 0xaa, 0xcd, 0x23, 0xf4, 0x12, 0xea, 0xbd, 0x9b, 0x07, 0x7c, 0x8d, 0xf4, 0x7d, 0x7b, 0xc6, 0x03, 0xdb, 0x4f, 0x5b, 0x9c, 0x38, 0xfe, 0xbe, 0x20, 0xfb, 0xb6, 0xed, 0xcf, 0x32, 0x12, 0x36, 0x10, 0x2e, 0xf4, 0x98, 0xe1, 0x24, 0x85, 0x38, 0x44, 0x29, 0xf0, 0x36, 0x64, 0x4b, 0xda, 0xcf, 0xf9, 0xb5, 0x4d, 0x76, 0x45, 0x35, 0xd5, 0x29, 0x04, 0x21, 0x2a, 0x2c, 0xd4, 0x6f, 0x31, 0xe9, 0x0e, 0xfe, 0x68, 0xff, 0xd6, 0xf9, 0xd8, 0x49, 0x97, 0xa8, 0x93, 0xa1, 0xe0, 0x7d, 0xa3, 0x78, 0x2f, 0xd8, 0xba, 0x9d, 0x37, 0x3d, 0x8c, 0xd1, 0xf7, 0xda, 0xda, 0x8a, 0x7e, 0x9b, 0x6d, 0x7e, 0x7a, 0x62, 0xae, 0x43, 0x04, 0x1a, 0x67, 0x56, 0xa2, 0x71, 0x34, 0xd2, 0x0c, 0x72, 0x15, 0x25, 0x34, 0x56, 0xf8, 0x61, 0x6a, 0xa4, 0x1e, 0xfd, 0x32, 0x3a, 0xac, 0xdf, 0xf3, 0xe9, 0xe0, 0xcc, 0xde, 0x1f, 0x5f, 0xbc, 0x1f, 0x25, 0x3b, 0x3e, 0xe6, 0xeb, 0x93, 0xd1, 0x7e, 0x18, 0xb4, 0xa1, 0x26, 0xee, 0xbb, 0x89, 0xf7, 0x59, 0xf7, 0x5d, 0xf4, 0x77, 0xdf, 0xfc, 0xdd, 0x30, 0x8f, 0xd8, 0x43, 0x7a, 0xda, 0x8f, 0x7d, 0xcf, 0x6f, 0x14, 0xdf, 0x5a, 0x25, 0xfd, 0x62, 0xc3, 0xd7, 0xbe, 0x3e, 0x3e, 0x3d, 0x0f, 0x57, 0xf9, 0xed, 0xfb, 0x37, 0x7f, 0x69, 0xaf, 0xf2, 0xe8, 0x51, 0xe4, 0xab, 0xbf, 0xa4, 0x43, 0x3d, 0xab, 0xcb, 0x85, 0xd1, 0x57, 0x50, 0xc5, 0x81, 0x22, 0x8e, 0xe7, 0x46, 0x00, 0x50, 0xae, 0xf9, 0x5f, 0x07, 0xf2, 0x97, 0x1f, 0x47, 0xa3, 0xd1, 0x9f, 0x42, 0x54, 0x74, 0xf8, 0x68, 0xdc, 0x7a, 0xe5, 0xe1, 0xae, 0x09, 0x8e, 0xaa, 0x19, 0x94, 0x09, 0x51, 0xe4, 0x62, 0x95, 0xe6, 0x15, 0x95, 0x3c, 0xc6, 0x04, 0x2e, 0xad, 0xc8, 0x15, 0x7a, 0x59, 0x6d, 0x4e, 0x00, 0xc1, 0xf8, 0xb2, 0xee, 0xd4, 0xbb, 0x52, 0x55, 0xed, 0xd5, 0x93, 0xa4, 0xb3, 0xc0, 0x11, 0xc2, 0xcd, 0x51, 0xf0, 0xd9, 0x8a, 0x1c, 0xb4, 0xac, 0x68, 0x3a, 0x41, 0x5b, 0xa8, 0xf0, 0x90, 0xe5, 0xcf, 0xec, 0xf4, 0x63, 0xde, 0x0b, 0xae, 0x93, 0x7c, 0x25, 0x11, 0x75, 0xd8, 0x5f, 0x90, 0x28, 0xe8, 0x33, 0x9b, 0x35, 0xd3, 0x3d, 0x5a, 0x64, 0x1d, 0xf4, 0x42, 0x62, 0x25, 0x2e, 0x74, 0x22, 0x09, 0xd6, 0x8a, 0x57, 0x42, 0xcb, 0xd9, 0x2d, 0x5e, 0x4d, 0x82, 0xab, 0xe2, 0xf5, 0x74, 0x75, 0x75, 0x8e, 0xc4, 0x7a, 0xb8, 0xe8, 0x76, 0xdb, 0xca, 0x11, 0xa0, 0xa7, 0x95, 0x75, 0xd3, 0x3a, 0x78, 0x7a, 0x9b, 0x6c, 0x40, 0x6a, 0xf4, 0xcd, 0x85, 0x6a, 0xa1, 0xda, 0x0f, 0xee, 0xac, 0x94, 0x44, 0x79, 0x14, 0x40, 0x1f, 0x9f, 0xb7, 0x7c, 0x2e, 0xea, 0xa1, 0xf3, 0xcf, 0x5c, 0x5b, 0x9f, 0x47, 0x30, 0x9c, 0x04, 0x49, 0x5c, 0x0d, 0x78, 0x5a, 0x68, 0x28, 0x0f, 0xff, 0xdc, 0xaa, 0x32, 0xdf, 0xfe, 0xaf, 0xdb, 0xa4, 0x0a, 0xe3, 0xed, 0x68, 0x6d, 0xbb, 0xd2, 0x2d, 0x19, 0x36, 0x78, 0x2c, 0xa2, 0x37, 0xb8, 0x5d, 0x51, 0xda, 0xb3, 0xe9, 0x52, 0x96, 0x7a, 0x64, 0x09, 0xa3, 0xe4, 0xbb, 0x7c, 0x31, 0x9b, 0xa6, 0x15, 0xd2, 0xc3, 0x42, 0xf1, 0x2a, 0x54, 0x82, 0xeb, 0x54, 0x97, 0xf8, 0xaa, 0xbb, 0x3b, 0xda, 0x4b, 0x26, 0x4e, 0xf3, 0xb1, 0xa2, 0x1f, 0x7b, 0x1e, 0x14, 0xfc, 0xee, 0x69, 0xda, 0x25, 0xf4, 0xa3, 0x7b, 0x4c, 0xd2, 0xae, 0xdd, 0xc2, 0xa3, 0x7d, 0xb4, 0x1a, 0x87, 0x18, 0x3e, 0x0a, 0x63, 0x29, 0xf9, 0xea, 0xfa, 0x11, 0xdc, 0x57, 0x4f, 0x06, 0xfc, 0xaf, 0x27, 0x0c, 0x0e, 0xd9, 0x58, 0xe1, 0x8e, 0x6d, 0x65, 0x33, 0x86, 0xb5, 0xfe, 0x93, 0x73, 0xad, 0x70, 0xed, 0xf2, 0xc4, 0xb1, 0x44, 0x21, 0x05, 0x1f, 0xc1, 0xcc, 0x52, 0x0d, 0x18, 0xf3, 0x8e, 0xce, 0x96, 0xb6, 0xc4, 0xf0, 0xaf, 0xbf, 0x4e, 0x2a, 0x82, 0x1d, 0x69, 0xea, 0x1f, 0x37, 0xd5, 0x13, 0x1b, 0x9d, 0xff, 0xe9, 0x28, 0xd2, 0x7e, 0xdb, 0x87, 0x3e, 0x77, 0x5f, 0xb2, 0xf9, 0xbe, 0xee, 0x73, 0x94, 0xe1, 0x8f, 0xb0, 0x1d, 0x65, 0xfd, 0x6c, 0xfe, 0xd0, 0xb3, 0x0d, 0x1f, 0x9a, 0x03, 0xd8, 0x88, 0xce, 0xd4, 0x1a, 0x00, 0x37, 0x4a, 0x15, 0x7e, 0x8d, 0x32, 0xf5, 0xd2, 0x7e, 0x34, 0xda, 0x7f, 0x78, 0x86, 0xb2, 0xb3, 0xbe, 0xc9, 0xb3, 0x37, 0x93, 0x9f, 0x80, 0x4c, 0x24, 0x45, 0xac, 0xec, 0xa3, 0xb9, 0x8d, 0x9d, 0x31, 0x08, 0x36, 0xa7, 0xc5, 0xcb, 0xcd, 0xfa, 0x51, 0x22, 0x54, 0x19, 0xe3, 0xb0, 0x0e, 0x76, 0xe0, 0xc4, 0xd3, 0xee, 0xf5, 0x26, 0xf0, 0x69, 0x53, 0xea, 0x08, 0x7e, 0x4c, 0xf8, 0x0b, 0xca, 0xe7, 0x8e, 0xa9, 0x8e, 0xe9, 0xfd, 0xf1, 0x9b, 0x0f, 0xe3, 0xe3, 0xd7, 0x80, 0xdb, 0x8c, 0xf5, 0x53, 0xca, 0xe9, 0x46, 0x73, 0x64, 0xa2, 0x29, 0x59, 0xa9, 0x94, 0x89, 0xb4, 0x1b, 0x0e, 0x72, 0x8f, 0x4c, 0x28, 0x64, 0x4d, 0x69, 0x0c, 0xe3, 0xb0, 0xee, 0x84, 0x55, 0x39, 0x79, 0xf7, 0x27, 0xe0, 0x8e, 0xf0, 0xaa, 0x67, 0x19, 0x35, 0xe7, 0x7a, 0xc1, 0x59, 0x30, 0x01, 0xa8, 0xda, 0x5b, 0x2f, 0x8b, 0xbd, 0x5e, 0x64, 0xd9, 0x4a, 0x83, 0xfe, 0x5e, 0x37, 0x79, 0x73, 0x3e, 0xea, 0x0f, 0x84, 0xf7, 0x19, 0xe3, 0xb2, 0xfa, 0x96, 0xf6, 0x74, 0x92, 0x82, 0xd3, 0x87, 0xf2, 0xd5, 0x1d, 0x60, 0x40, 0x77, 0x53, 0x76, 0xf2, 0xc6, 0xaa, 0xf5, 0x0a, 0x3f, 0x1e, 0x74, 0xd5, 0x63, 0x38, 0x72, 0x42, 0xe8, 0x31, 0x86, 0x11, 0x63, 0x55, 0x92, 0x96, 0x7a, 0x59, 0x56, 0x66, 0xd0, 0xa5, 0x2d, 0x56, 0x64, 0x44, 0x87, 0x7a, 0xb7, 0xdb, 0xca, 0xb1, 0x6b, 0xb6, 0x93, 0x2d, 0x81, 0x08, 0x78, 0xc6, 0xf5, 0xdb, 0xc4, 0x15, 0x78, 0x9b, 0xe0, 0x31, 0xa1, 0xe8, 0x20, 0x8b, 0xb4, 0xb1, 0x54, 0x5d, 0x63, 0x2f, 0x78, 0x07, 0x43, 0x73, 0x93, 0xba, 0x8e, 0x74, 0x9d, 0x39, 0xaa, 0xba, 0x6b, 0x34, 0x40, 0xa7, 0x4e, 0x33, 0xff, 0x2d, 0xbb, 0xb9, 0x1d, 0x1c, 0xc6, 0x6e, 0xc0, 0x32, 0xbd, 0x85, 0x8b, 0xaa, 0x97, 0x1c, 0xc4, 0x61, 0x4b, 0x1b, 0x42, 0xcf, 0x55, 0xcc, 0xf3, 0xc1, 0x61, 0x5d, 0xe9, 0x0b, 0x27, 0x26, 0xd9, 0xa3, 0x16, 0xff, 0x15, 0x19, 0xde, 0x61, 0xe8, 0x11, 0x50, 0x59, 0x32, 0x67, 0x78, 0x09, 0x53, 0x5a, 0x24, 0xd9, 0x6f, 0x3b, 0xdc, 0x58, 0x0a, 0x1f, 0xdb, 0xa5, 0x1f, 0x2f, 0x4a, 0x8a, 0x51, 0x2a, 0x31, 0xe0, 0xf3, 0x21, 0x64, 0x1f, 0x99, 0x09, 0x15, 0x51, 0x21, 0x32, 0xf0, 0x6c, 0xe2, 0x0d, 0x9a, 0xd9, 0xa0, 0x58, 0x8c, 0xf0, 0xcb, 0xd8, 0x05, 0x36, 0xb7, 0x3e, 0xb4, 0x4a, 0xde, 0x0c, 0x72, 0x58, 0x75, 0x9c, 0x8c, 0x07, 0x18, 0xb4, 0x61, 0x95, 0x65, 0xda, 0xa8, 0xcd, 0x84, 0x9f, 0x80, 0x7b, 0xa9, 0x69, 0x8d, 0x7c, 0x44, 0x55, 0x63, 0xb0, 0x01, 0x72, 0x35, 0xa2, 0xb6, 0x89, 0x56, 0x04, 0x43, 0x33, 0x2d, 0xfc, 0xc9, 0xe2, 0x04, 0xcc, 0x20, 0x79, 0x39, 0x43, 0x55, 0x14, 0x77, 0xe2, 0xe9, 0x81, 0x8f, 0x91, 0xd9, 0x6c, 0x93, 0xab, 0xf2, 0x36, 0x5f, 0xae, 0x97, 0x78, 0x7d, 0xc0, 0x06, 0xd8, 0x92, 0xa4, 0x96, 0x1e, 0x2a, 0xb2, 0x0b, 0x6d, 0xdb, 0xaf, 0x98, 0x33, 0x83, 0x58, 0x1b, 0x88, 0xb6, 0xe1, 0x94, 0x1f, 0x7a, 0x8b, 0x5b, 0x6c, 0xe0, 0xa0, 0xfe, 0x97, 0xd3, 0x67, 0xf2, 0xc2, 0x28, 0x74, 0x7f, 0x8a, 0x44, 0xa3, 0x53, 0x9f, 0xa7, 0x0a, 0xff, 0x00, 0x65, 0x52, 0xaa, 0x73, 0x36, 0xf3, 0x4c, 0x49, 0xa6, 0x38, 0xd2, 0xc4, 0xf8, 0x90, 0x7a, 0x39, 0xd4, 0xc0, 0x3a, 0xbe, 0x85, 0xdc, 0x69, 0xa1, 0xce, 0xf7, 0xcb, 0x42, 0x49, 0x88, 0x9e, 0xce, 0x4d, 0x3a, 0x8f, 0x04, 0x32, 0x5f, 0xe1, 0x19, 0x40, 0xb4, 0xf2, 0xbe, 0xf9, 0xfc, 0xbe, 0x24, 0xc5, 0x88, 0x7d, 0x4b, 0x1e, 0x73, 0xd9, 0x65, 0x75, 0x63, 0xb5, 0x7b, 0x85, 0xd8, 0x70, 0x20, 0xd8, 0x06, 0x31, 0xb2, 0x0e, 0xbb, 0x64, 0xb5, 0x94, 0xa1, 0x90, 0x9e, 0x13, 0x3b, 0xe5, 0xb3, 0x1b, 0x70, 0xb2, 0x26, 0x32, 0x34, 0x1f, 0xdd, 0xde, 0x06, 0x14, 0xee, 0x19, 0xc4, 0x8c, 0x37, 0xc9, 0xd6, 0xf2, 0xa3, 0x7d, 0x94, 0x39, 0x3e, 0xbe, 0xed, 0x18, 0xcd, 0xa3, 0x38, 0x38, 0x24, 0xcb, 0x07, 0x62, 0x91, 0x93, 0x92, 0xa3, 0x70, 0xbc, 0x69, 0x69, 0x64, 0x3b, 0x99, 0x3b, 0xdc, 0xa4, 0x39, 0x08, 0x22, 0x48, 0x6d, 0x40, 0x2e, 0xa6, 0x6d, 0xf6, 0xaa, 0x51, 0x52, 0x34, 0x2d, 0x34, 0x9a, 0x3f, 0x6d, 0xa5, 0xee, 0x93, 0xcd, 0x03, 0x98, 0x95, 0x6b, 0x40, 0x61, 0x84, 0xdb, 0x45, 0x5f, 0xe1, 0xdd, 0xa7, 0x2b, 0x65, 0xe4, 0x55, 0xbe, 0xa0, 0xd7, 0xf8, 0x62, 0xd7, 0xc9, 0x81, 0x39, 0x85, 0xbc, 0x58, 0x37, 0x16, 0xae, 0x0f, 0xdf, 0xb4, 0xb0, 0x33, 0x91, 0xdd, 0x5f, 0x20, 0xd1, 0x57, 0x2b, 0xe0, 0xe9, 0xf6, 0xd5, 0x5e, 0x74, 0x90, 0x6f, 0x09, 0x34, 0x72, 0xdb, 0xd3, 0xd9, 0x97, 0xb2, 0x31, 0x57, 0x91, 0x0d, 0xc3, 0x8a, 0x5c, 0xcd, 0x6e, 0xcd, 0x6e, 0x33, 0x8a, 0x92, 0x27, 0xd8, 0xac, 0x48, 0x1b, 0x79, 0x5d, 0x28, 0x22, 0x99, 0x3f, 0x2d, 0x26, 0x6e, 0x9b, 0x78, 0x81, 0xcf, 0x95, 0x8d, 0x5c, 0x49, 0xdb, 0x7c, 0x8d, 0xb5, 0xb6, 0xf8, 0xd5, 0xe6, 0xfe, 0x69, 0x82, 0x57, 0xf3, 0xe4, 0x89, 0xad, 0x05, 0xe6, 0x34, 0xce, 0x72, 0x69, 0x73, 0x36, 0x99, 0xb0, 0xdf, 0xe3, 0xcb, 0x2f, 0x29, 0x62, 0xfc, 0x3c, 0x89, 0x69, 0x64, 0x4c, 0x42, 0x0a, 0x4b, 0x6d, 0x78, 0x2f, 0x98, 0x01, 0x7c, 0xf6, 0x99, 0x02, 0x72, 0x13, 0x54, 0x37, 0x5f, 0x55, 0xc2, 0xb2, 0x87, 0xfb, 0x1d, 0x46, 0x5c, 0x76, 0x1b, 0x72, 0xe6, 0x98, 0xaa, 0xf3, 0x1b, 0xb2, 0xa3, 0x3a, 0x25, 0xf8, 0xc9, 0x75, 0x73, 0xf5, 0x8f, 0x7c, 0x16, 0x85, 0x52, 0xa2, 0xbb, 0x60, 0x7e, 0x6d, 0x0e, 0xad, 0x66, 0xef, 0x97, 0x62, 0x9b, 0x26, 0x3b, 0xf2, 0xda, 0xee, 0x20, 0x99, 0xad, 0xe1, 0x92, 0x1b, 0xbf, 0x1c, 0x9f, 0x26, 0xe7, 0xa7, 0x2f, 0x4f, 0xde, 0x99, 0x77, 0x86, 0xa1, 0x91, 0x6a, 0x11, 0xcb, 0x06, 0x49, 0xb7, 0xc7, 0x18, 0xfc, 0x9d, 0x6d, 0x54, 0xb3, 0xf6, 0x87, 0x42, 0x4c, 0xa3, 0x19, 0x84, 0x69, 0xab, 0xf6, 0x60, 0xb8, 0xd6, 0x8c, 0xa7, 0x3e, 0x54, 0x1d, 0xbb, 0xa5, 0x9a, 0x26, 0x23, 0x79, 0xa8, 0x5e, 0x98, 0x51, 0xee, 0xa2, 0x11, 0x5b, 0xd7, 0x0a, 0x5d, 0x11, 0x5b, 0x8d, 0x59, 0xb9, 0x03, 0x6d, 0xe5, 0xc9, 0x9b, 0x39, 0x71, 0xcf, 0x2c, 0x43, 0x16, 0xde, 0xd8, 0x40, 0x77, 0xeb, 0xe4, 0xb9, 0xc6, 0x9b, 0x7d, 0x23, 0x9f, 0x93, 0x72, 0x43, 0x65, 0x97, 0x44, 0xc6, 0x7a, 0x19, 0xf9, 0x29, 0xca, 0x86, 0x13, 0x6b, 0xa4, 0xa1, 0x6a, 0x69, 0xbb, 0x0e, 0x24, 0xf4, 0xa4, 0xbc, 0x1d, 0x28, 0x08, 0x0d, 0x96, 0x80, 0xea, 0x26, 0x97, 0xe3, 0x70, 0x69, 0xd8, 0x19, 0xa0, 0xa8, 0x78, 0xbc, 0xa6, 0x64, 0x94, 0x5e, 0x02, 0xdf, 0x0d, 0x0b, 0x06, 0x96, 0x46, 0xbf, 0x35, 0x03, 0xfa, 0x7e, 0xd1, 0x4d, 0x34, 0xf6, 0xa4, 0xd3, 0xcb, 0x1b, 0x34, 0x96, 0x77, 0x75, 0x9c, 0x63, 0xe4, 0xd8, 0xda, 0x1c, 0x39, 0xcb, 0x9d, 0xcd, 0x10, 0xa0, 0xa3, 0x36, 0x35, 0x6c, 0x04, 0x60, 0x3f, 0xe8, 0x7c, 0xef, 0x61, 0x28, 0xb1, 0x3f, 0x19, 0x24, 0x96, 0x51, 0xbb, 0xfb, 0x1a, 0x5f, 0xd6, 0xcf, 0xf1, 0x71, 0x87, 0x45, 0x1d, 0x4c, 0x85, 0x71, 0xbd, 0x50, 0xcb, 0xc4, 0x1d, 0x4a, 0xd9, 0xb1, 0x14, 0xc1, 0xfe, 0x9a, 0xed, 0x49, 0x6a, 0xdc, 0x7d, 0x19, 0x26, 0x0c, 0x3d, 0xab, 0x2b, 0x1f, 0x13, 0xf5, 0x53, 0x07, 0xdf, 0x61, 0x0c, 0xc6, 0xca, 0x26, 0xcb, 0x8a, 0x9d, 0x55, 0xe3, 0x69, 0x4a, 0x94, 0x6b, 0x84, 0xd2, 0xac, 0x1c, 0xa7, 0x31, 0x5c, 0xbe, 0x19, 0x35, 0x40, 0x08, 0xdb, 0x25, 0x70, 0x1a, 0xc2, 0x9c, 0x9b, 0xa4, 0xea, 0x0c, 0xbc, 0x31, 0x03, 0x3e, 0xcc, 0x3d, 0x34, 0xaa, 0xe4, 0xef, 0xeb, 0x3c, 0x6b, 0x50, 0x8c, 0x38, 0x4a, 0x5e, 0x73, 0xba, 0xa4, 0x74, 0x1a, 0xe5, 0x8e, 0xc6, 0x68, 0x7b, 0xcc, 0x10, 0x00, 0xfc, 0x7d, 0x9a, 0x40, 0xc0, 0x87, 0xcd, 0x84, 0x50, 0xe5, 0xfa, 0x16, 0xb3, 0x4e, 0x5e, 0xd1, 0xb4, 0x97, 0x46, 0x02, 0x02, 0x83, 0xc9, 0x43, 0xd7, 0xd3, 0x7c, 0x1a, 0xad, 0x70, 0x41, 0x12, 0x77, 0xfd, 0x29, 0xac, 0x61, 0x19, 0xb4, 0x3a, 0xb5, 0xc1, 0x97, 0x22, 0x7c, 0xa9, 0xa1, 0x36, 0x7f, 0x45, 0xba, 0xd8, 0xab, 0x9b, 0x19, 0x69, 0x05, 0xeb, 0x62, 0x41, 0xf3, 0xa4, 0x91, 0x7a, 0xfa, 0x86, 0x46, 0x70, 0xa8, 0x80, 0x83, 0x43, 0x27, 0xd4, 0x3a, 0x22, 0xc9, 0x6d, 0xe9, 0xcb, 0x80, 0xf0, 0xb2, 0x9b, 0x42, 0x50, 0x2c, 0x7f, 0xb7, 0x88, 0xe9, 0xf0, 0x7a, 0xb1, 0x97, 0xad, 0x73, 0xdb, 0x04, 0x11, 0x72, 0x4d, 0xe7, 0x65, 0x08, 0x6d, 0x52, 0xd6, 0x0a, 0x9e, 0x6e, 0x16, 0x69, 0x5e, 0x6f, 0xdd, 0x27, 0x40, 0xd0, 0xdd, 0x8b, 0xf2, 0xd3, 0xf6, 0xaa, 0x71, 0xbf, 0xf4, 0x7b, 0xe1, 0x7d, 0xf8, 0x8d, 0xb0, 0xc9, 0xfc, 0x4f, 0x06, 0xf8, 0x89, 0x23, 0x98, 0x91, 0x93, 0xc5, 0x26, 0x05, 0x4b, 0xb6, 0x5f, 0x0b, 0xed, 0x86, 0x73, 0x21, 0xee, 0x22, 0x2d, 0x3a, 0x0d, 0x31, 0xad, 0x05, 0x1b, 0x64, 0xba, 0x30, 0x4a, 0x50, 0xc4, 0x11, 0xa3, 0xbd, 0x59, 0x09, 0x06, 0x6f, 0xd0, 0x15, 0xd9, 0xf5, 0x9a, 0x34, 0xf3, 0xc5, 0x9a, 0xbe, 0xcc, 0x08, 0x72, 0x16, 0xc1, 0x4c, 0x21, 0x0d, 0xa2, 0xa8, 0x7f, 0x16, 0x27, 0x88, 0xee, 0xa8, 0x07, 0x80, 0xa8, 0x98, 0xbe, 0x16, 0x1b, 0xb0, 0x0b, 0xa2, 0x37, 0xea, 0x99, 0x1d, 0x79, 0x4b, 0x78, 0x98, 0x4c, 0x00, 0x56, 0x3d, 0xc7, 0x14, 0x15, 0x79, 0xe9, 0x74, 0x04, 0x21, 0x50, 0xba, 0xfe, 0xc4, 0x50, 0xdd, 0x6c, 0xca, 0x44, 0x6b, 0x66, 0xaa, 0x9f, 0x28, 0x82, 0x00, 0x0a, 0x2f, 0x7c, 0x14, 0x40, 0x72, 0x38, 0x17, 0x41, 0x3c, 0x10, 0x1d, 0x50, 0xd1, 0x58, 0x10, 0x3c, 0x87, 0xd5, 0x69, 0x29, 0x22, 0xab, 0xf5, 0xee, 0xb5, 0xa6, 0xa4, 0xca, 0x74, 0x24, 0x83, 0x9f, 0x5f, 0xda, 0x51, 0x90, 0x1e, 0xbc, 0xb6, 0xdb, 0x8a, 0x9b, 0x95, 0x2d, 0x18, 0xea, 0xdf, 0x54, 0xe7, 0x7a, 0xdc, 0x6e, 0xa8, 0x27, 0x90, 0x8e, 0x3f, 0xeb, 0x42, 0xa5, 0x0f, 0xbb, 0x51, 0x3d, 0xd5, 0x36, 0xff, 0x6f, 0xde, 0xa8, 0x34, 0x79, 0xd8, 0x9d, 0x4a, 0xbb, 0x97, 0x2a, 0x64, 0x4b, 0xb7, 0xbd, 0x33, 0xfe, 0x05, 0x6f, 0x19, 0x5f, 0xb3, 0x9f, 0x74, 0xcf, 0x94, 0x28, 0xfe, 0x5f, 0xbe, 0x65, 0x9f, 0x77, 0xb4, 0x40, 0xe0, 0xa3, 0x3e, 0xb0, 0x6f, 0x25, 0x69, 0xc7, 0xa4, 0x6b, 0xed, 0x59, 0x28, 0xc3, 0x78, 0xe3, 0x13, 0x86, 0xde, 0x8a, 0x85, 0x2e, 0x4b, 0x3d, 0xd9, 0xc7, 0x96, 0xe7, 0x29, 0xec, 0xc0, 0xc6, 0x81, 0x43, 0xe7, 0xad, 0x02, 0x44, 0x23, 0xc7, 0xdb, 0xb6, 0x3a, 0x4d, 0xa4, 0x89, 0x8a, 0x2c, 0xeb, 0xd2, 0x88, 0xf6, 0x55, 0x9e, 0x70, 0xa7, 0x76, 0x43, 0x80, 0x5f, 0x8d, 0xc7, 0xc3, 0x97, 0xe7, 0x27, 0xf7, 0xd8, 0x5d, 0xc0, 0x85, 0x71, 0x93, 0x8c, 0xd9, 0xcb, 0xfd, 0x69, 0x58, 0xed, 0x4f, 0x1b, 0x45, 0xb7, 0xbb, 0xad, 0x2f, 0xeb, 0x56, 0x92, 0xb1, 0x4e, 0xc9, 0x36, 0xdc, 0x20, 0x65, 0x5b, 0x31, 0x97, 0x91, 0x47, 0x41, 0xbe, 0x1a, 0xe2, 0x32, 0xfc, 0x44, 0x90, 0x93, 0x0d, 0x84, 0x1d, 0x80, 0xe3, 0x24, 0x07, 0xcf, 0x9e, 0x1c, 0x98, 0x6b, 0x71, 0xc7, 0xc0, 0x8f, 0xf2, 0xfe, 0xa3, 0xd1, 0xd1, 0xde, 0xa3, 0xd1, 0x23, 0xe2, 0x6a, 0x2e, 0x5a, 0x2a, 0xe3, 0x1b, 0x6e, 0x17, 0xc9, 0x4a, 0xa2, 0x69, 0xbd, 0x3b, 0x7e, 0x95, 0x70, 0xe2, 0x2a, 0x60, 0x00, 0x3b, 0x36, 0x57, 0xc2, 0xc9, 0x33, 0xc4, 0x48, 0x47, 0xea, 0x26, 0x66, 0x62, 0x0d, 0x9c, 0x14, 0xc1, 0x76, 0x24, 0x6a, 0x4b, 0x00, 0x98, 0xa2, 0xb0, 0x33, 0x21, 0x7e, 0xc7, 0x66, 0x85, 0xec, 0x8c, 0xf9, 0x4d, 0x58, 0x81, 0xe6, 0xed, 0x89, 0xb7, 0x63, 0xf7, 0xa4, 0x97, 0x3f, 0xea, 0x3f, 0x1f, 0x35, 0x5f, 0x7a, 0x0c, 0x20, 0xe7, 0xb9, 0x0f, 0xec, 0x1c, 0xe1, 0x87, 0xd6, 0x28, 0xad, 0x93, 0x6a, 0xba, 0xb4, 0x26, 0xc9, 0xfc, 0xef, 0xb3, 0x62, 0xf4, 0x53, 0xed, 0xa9, 0x88, 0x42, 0xdc, 0x36, 0x9b, 0x78, 0xee, 0xc2, 0xa8, 0xc5, 0x5c, 0xea, 0x5b, 0x11, 0x9b, 0x48, 0x5d, 0x0f, 0x19, 0x08, 0x80, 0xee, 0x32, 0x1b, 0x50, 0xde, 0x40, 0x76, 0xf4, 0x4d, 0x83, 0x47, 0x0c, 0x72, 0xf7, 0xad, 0xbd, 0x2a, 0x4b, 0x17, 0xf2, 0xa2, 0x98, 0x6e, 0x40, 0x0c, 0x0e, 0x7e, 0x39, 0x47, 0x7b, 0xb9, 0x3a, 0x00, 0x68, 0x63, 0x84, 0x73, 0x0b, 0x8f, 0xc8, 0x4f, 0xdb, 0x34, 0x2d, 0xaf, 0x91, 0x4b, 0x65, 0xc4, 0x49, 0xbe, 0x4a, 0x17, 0xc9, 0x03, 0x6a, 0x0b, 0xfa, 0x0f, 0xff, 0x5e, 0x7e, 0xe7, 0xd8, 0x45, 0xc8, 0xe5, 0x6c, 0x21, 0xbf, 0x26, 0x90, 0x76, 0xa5, 0xaa, 0x70, 0x90, 0x16, 0x9f, 0xeb, 0x19, 0x90, 0x92, 0xdd, 0x85, 0x9d, 0x39, 0x14, 0xa8, 0x6e, 0x02, 0x8d, 0xb1, 0x24, 0x15, 0x11, 0x91, 0x1c, 0x72, 0x2e, 0x96, 0xa6, 0x83, 0x4a, 0xd5, 0xeb, 0xee, 0x48, 0xcd, 0xa8, 0x4d, 0xcc, 0xdd, 0xb2, 0xc4, 0x7b, 0x59, 0xef, 0x2f, 0xc1, 0x0c, 0x49, 0x85, 0x63, 0x3f, 0xc3, 0x4f, 0xc5, 0x40, 0xf5, 0x85, 0x45, 0xb2, 0x83, 0x44, 0x10, 0x5b, 0xc5, 0x48, 0x3f, 0xd2, 0xd4, 0x82, 0xd0, 0x59, 0x64, 0xa3, 0xc6, 0xbb, 0xa3, 0x87, 0x80, 0x45, 0x0f, 0x04, 0x17, 0xda, 0x42, 0x41, 0x07, 0x7c, 0xf6, 0xff, 0x09, 0x35, 0xf0, 0x71, 0x62, 0xcf, 0xea, 0x21, 0xda, 0x20, 0x23, 0xab, 0x73, 0xbf, 0xf1, 0x00, 0xfa, 0xce, 0x99, 0x5c, 0xff, 0xbf, 0x36, 0xf8, 0x7f, 0x92, 0x36, 0xf8, 0x93, 0x6f, 0x69, 0xeb, 0x92, 0x0e, 0x25, 0xb3, 0xd9, 0xde, 0x4b, 0x77, 0x13, 0xe3, 0x05, 0x07, 0x8b, 0xbb, 0x07, 0x5e, 0xd0, 0xee, 0x0d, 0x4d, 0x42, 0x52, 0xf8, 0x7f, 0xe3, 0x8a, 0x3e, 0xe8, 0x66, 0xfe, 0xff, 0xbe, 0x8f, 0xff, 0xdd, 0xee, 0x61, 0xbf, 0x36, 0xb8, 0x63, 0x88, 0xec, 0x86, 0xb2, 0xf6, 0xb8, 0xd7, 0x19, 0xec, 0xec, 0x5d, 0xa7, 0xf9, 0x50, 0x3d, 0x1e, 0xef, 0xdd, 0xc9, 0xf9, 0xb7, 0x4f, 0x18, 0x81, 0x67, 0xdc, 0x4d, 0x66, 0xa9, 0x92, 0xd3, 0xd7, 0x2f, 0xcf, 0x7f, 0xc2, 0x6d, 0xff, 0x0b, 0xbc, 0xd0, 0xab, 0x2c, 0x9b, 0x0d, 0x39, 0x6e, 0xf8, 0x02, 0xff, 0x88, 0x04, 0xdc, 0x53, 0x8b, 0xb0, 0x01, 0xb2, 0xa5, 0x70, 0x62, 0x98, 0xc6, 0x80, 0x97, 0x8d, 0x9a, 0x52, 0x08, 0xe6, 0xcd, 0x0a, 0x2d, 0x01, 0x03, 0x1f, 0x4b, 0x59, 0xcc, 0x76, 0xb9, 0xd0, 0x0f, 0x5f, 0x06, 0xa9, 0x48, 0xf6, 0x09, 0xdd, 0xef, 0x4b, 0x42, 0xc5, 0xb3, 0xc0, 0xa1, 0xde, 0x33, 0x8a, 0x04, 0x1d, 0x4d, 0x86, 0xba, 0x73, 0x4b, 0xe1, 0x90, 0x27, 0xa3, 0xd7, 0x1d, 0xed, 0x93, 0xff, 0x1d, 0x5c, 0x24, 0x6b, 0x7e, 0x45, 0xb4, 0x8d, 0xee, 0xe7, 0xfb, 0xd2, 0x69, 0x36, 0x6e, 0xa5, 0x7f, 0x12, 0xad, 0x1d, 0xa4, 0x08, 0x39, 0x87, 0x0e, 0x83, 0x2e, 0xe5, 0xde, 0x37, 0x39, 0x81, 0x84, 0xe7, 0x6b, 0x3f, 0xd1, 0xde, 0xcd, 0x93, 0xb9, 0xff, 0x42, 0x60, 0x51, 0xdb, 0x9a, 0xb4, 0xcc, 0x1a, 0xd4, 0x49, 0x6b, 0x56, 0xae, 0x62, 0xe0, 0x40, 0xbd, 0xfb, 0xae, 0xb4, 0xe0, 0x2f, 0x61, 0x36, 0xa5, 0xf7, 0xee, 0xe6, 0x14, 0xc0, 0xb2, 0x68, 0x2a, 0x6a, 0x31, 0xa2, 0xd9, 0x03, 0x8a, 0x34, 0x6f, 0xf8, 0xa2, 0x5f, 0xfb, 0x9f, 0xa2, 0x52, 0x20, 0xc1, 0xae, 0x85, 0xed, 0x36, 0xf9, 0x7e, 0x27, 0x59, 0x33, 0x1d, 0xb9, 0xb3, 0x05, 0x84, 0xa1, 0xf9, 0xe5, 0xd4, 0x28, 0xb9, 0xda, 0x93, 0x7a, 0x90, 0x70, 0x82, 0x07, 0x99, 0x3c, 0x3d, 0xbe, 0x0a, 0xcd, 0x84, 0xf9, 0xf5, 0xdb, 0xb3, 0x6d, 0xee, 0x7f, 0x18, 0x42, 0x48, 0xa8, 0x79, 0x62, 0xd9, 0x42, 0x6a, 0xd8, 0x19, 0x90, 0x17, 0xd0, 0x24, 0x99, 0x02, 0xc1, 0xf3, 0x45, 0x7a, 0x23, 0x45, 0x30, 0x5d, 0x7e, 0x3f, 0x3e, 0x3d, 0xe2, 0x8c, 0xdf, 0x8b, 0xd3, 0xb1, 0x8f, 0x9f, 0x5f, 0x23, 0x18, 0x8f, 0x0a, 0xc8, 0x3f, 0x1f, 0xbf, 0x1c, 0x5f, 0x8c, 0x22, 0x6b, 0x0c, 0x13, 0xa6, 0x5c, 0x41, 0x34, 0x01, 0x9b, 0x2d, 0xd2, 0x3b, 0x42, 0xcf, 0x94, 0xba, 0x4a, 0x9a, 0x1b, 0x4f, 0x4d, 0xc7, 0x26, 0x33, 0x97, 0x3b, 0xc8, 0x20, 0xe5, 0x2e, 0x4c, 0x49, 0x32, 0x7b, 0x37, 0xc9, 0x17, 0xb4, 0x02, 0x33, 0x2d, 0x63, 0x0c, 0x2d, 0xa5, 0x68, 0x02, 0x55, 0xfa, 0xe5, 0x82, 0x12, 0x09, 0xe8, 0x3b, 0x6d, 0x4f, 0x04, 0x25, 0x24, 0x0b, 0x74, 0x41, 0x7f, 0x21, 0xb2, 0xd1, 0x3b, 0x4a, 0x6a, 0xff, 0x64, 0xe7, 0xaa, 0x7b, 0xc5, 0x51, 0x67, 0xaf, 0x61, 0x1f, 0x75, 0xa8, 0x27, 0x10, 0x97, 0x30, 0xdd, 0x3b, 0xad, 0x3f, 0x69, 0x64, 0x17, 0x6d, 0x45, 0x29, 0x68, 0xbc, 0x31, 0xe7, 0xb4, 0x6b, 0x09, 0x99, 0x83, 0x46, 0x4d, 0x3c, 0x55, 0x47, 0x05, 0xc5, 0x11, 0xe4, 0x00, 0x28, 0xb2, 0xc5, 0xee, 0x86, 0x13, 0xd7, 0xc4, 0x11, 0xbf, 0xed, 0x29, 0x8d, 0x16, 0xef, 0xb5, 0x96, 0x4c, 0xaf, 0x32, 0x23, 0x45, 0x46, 0x1e, 0xb2, 0xc3, 0x83, 0x37, 0xe4, 0xb3, 0x00, 0xfe, 0x2f, 0xb2, 0x3d, 0x3f, 0x79, 0x43, 0x1e, 0x3d, 0x0a, 0x37, 0xa4, 0xca, 0xfe, 0x3e, 0x8b, 0x61, 0xa1, 0xa3, 0x02, 0x05, 0xe5, 0x2f, 0x5c, 0x36, 0xf2, 0x9e, 0x01, 0xdd, 0x69, 0xaa, 0x7b, 0xd4, 0xd2, 0x48, 0xf3, 0xe8, 0x1d, 0x98, 0x1e, 0x19, 0xd8, 0x14, 0x80, 0x0c, 0xdb, 0xb1, 0x2b, 0xea, 0xa6, 0xd7, 0x7f, 0x33, 0x8f, 0xc3, 0x81, 0x48, 0x76, 0xb3, 0x7c, 0x64, 0x23, 0xcb, 0xa2, 0x54, 0x16, 0x34, 0xc6, 0xa1, 0x1a, 0x53, 0x7b, 0x77, 0x86, 0xc3, 0x79, 0xb3, 0xb2, 0x0b, 0xdb, 0x48, 0x1d, 0xfb, 0xc1, 0x66, 0xf4, 0x2c, 0xfd, 0xa2, 0xd2, 0x06, 0x41, 0x9b, 0x57, 0x1f, 0x66, 0x5b, 0x52, 0xd7, 0x1d, 0xed, 0xe4, 0x0e, 0xe0, 0x32, 0x69, 0xa3, 0xfe, 0xd0, 0x8d, 0x08, 0x99, 0x07, 0xb6, 0xa5, 0xd5, 0x59, 0x5a, 0xd7, 0x2b, 0x2c, 0x5c, 0x83, 0xa3, 0xb2, 0x03, 0x98, 0xa9, 0x14, 0x34, 0x04, 0xb7, 0xbd, 0xa0, 0xb2, 0xda, 0xeb, 0x6c, 0x81, 0x72, 0xc3, 0xac, 0x98, 0x56, 0x77, 0x2b, 0x1f, 0xbc, 0x7f, 0x76, 0x8f, 0x06, 0x7f, 0xcf, 0x09, 0xb4, 0x6a, 0x83, 0x0e, 0x0c, 0xaf, 0xdb, 0x0d, 0xf5, 0xaf, 0x54, 0x19, 0x3c, 0x1b, 0x27, 0x50, 0xbc, 0x1b, 0xbf, 0x54, 0x80, 0x0c, 0x19, 0x65, 0xdc, 0x8c, 0x9f, 0x29, 0x88, 0x85, 0xc9, 0x3c, 0x74, 0x20, 0xd3, 0xd6, 0xda, 0x4a, 0x80, 0x07, 0x9f, 0xfc, 0xe1, 0x80, 0xf7, 0xeb, 0xfa, 0x30, 0xe0, 0x09, 0xe3, 0xd3, 0x5d, 0x82, 0xa7, 0xae, 0x08, 0x2e, 0xa6, 0xe5, 0x96, 0xa2, 0x0b, 0xab, 0x0d, 0xca, 0x0e, 0xd9, 0x1b, 0xe5, 0xb7, 0x6b, 0x66, 0x25, 0x3b, 0x48, 0xa1, 0x42, 0x69, 0x38, 0xdf, 0x75, 0x2e, 0xd1, 0x1d, 0x1b, 0xbe, 0xca, 0x79, 0x8d, 0xed, 0x76, 0xaa, 0xb6, 0xea, 0x99, 0x9e, 0xbe, 0x3e, 0xec, 0x05, 0xa2, 0x1f, 0xc9, 0xef, 0x51, 0xc2, 0x3e, 0xcb, 0x80, 0xe5, 0xae, 0x58, 0x9a, 0x54, 0xc1, 0xc5, 0xd4, 0x86, 0xbc, 0x5e, 0xf2, 0x4e, 0x3f, 0x39, 0x78, 0xfa, 0x64, 0x37, 0x1a, 0x64, 0x67, 0x62, 0xa2, 0xd2, 0xc6, 0xa6, 0x59, 0x51, 0x81, 0xae, 0x90, 0x11, 0xfd, 0xf3, 0x70, 0xe4, 0xef, 0x51, 0xd8, 0xdd, 0xa4, 0x2b, 0x92, 0x8a, 0x19, 0x11, 0x04, 0x6d, 0x83, 0x76, 0x7b, 0x20, 0x42, 0xb1, 0x7d, 0x62, 0xf5, 0x8e, 0x83, 0x90, 0x43, 0x93, 0x30, 0x40, 0xa2, 0x87, 0x89, 0x38, 0x3c, 0xd2, 0x09, 0x1c, 0xf1, 0xcc, 0xbc, 0xf6, 0x9c, 0x3c, 0x53, 0xfc, 0x7d, 0xd4, 0xfe, 0x97, 0x1f, 0xcc, 0x74, 0x03, 0xfc, 0xbc, 0x53, 0x3e, 0xfa, 0xb5, 0x4f, 0xf9, 0xe8, 0x9e, 0x53, 0x3e, 0x7a, 0xe8, 0x29, 0x3f, 0x7d, 0xfc, 0xe4, 0xf3, 0x9f, 0x77, 0xca, 0xde, 0x26, 0xff, 0xaf, 0x39, 0x65, 0x8f, 0xcc, 0x7e, 0xde, 0x29, 0x4b, 0x52, 0x48, 0xb7, 0x20, 0x53, 0x92, 0x5f, 0xb8, 0x9c, 0x96, 0xb0, 0x34, 0x38, 0x23, 0x99, 0x1f, 0x0e, 0x0b, 0xad, 0xa4, 0xfb, 0x24, 0x77, 0xbd, 0x33, 0x6a, 0x58, 0xc4, 0xc8, 0x76, 0xc0, 0x1e, 0xd0, 0x6f, 0x57, 0x0b, 0x6a, 0x9e, 0xb6, 0x3d, 0xdc, 0xd6, 0xd0, 0xb5, 0x96, 0x4f, 0x2a, 0x2e, 0x16, 0x7f, 0xcd, 0x1c, 0xf6, 0x6f, 0x88, 0xaa, 0x16, 0xe6, 0xcc, 0x78, 0x59, 0x4f, 0xed, 0x4d, 0xbb, 0x5b, 0x18, 0x33, 0x81, 0x33, 0x90, 0xa2, 0xd9, 0x6f, 0xb5, 0xa6, 0x0e, 0x32, 0xb4, 0x93, 0x7a, 0x69, 0x26, 0x46, 0x27, 0x34, 0x22, 0xa0, 0xa0, 0x9c, 0x9e, 0xbb, 0x45, 0x26, 0x15, 0xc4, 0xb4, 0x66, 0xf8, 0xe4, 0xc9, 0x94, 0xef, 0xba, 0x84, 0xa5, 0x57, 0x90, 0x05, 0xd4, 0xd3, 0x9c, 0xa5, 0x91, 0x84, 0x0d, 0x8d, 0x82, 0xd6, 0x9a, 0x0e, 0x76, 0xce, 0x5c, 0x14, 0x8e, 0x3b, 0x2c, 0x23, 0x60, 0x3f, 0x9b, 0x12, 0xfc, 0xba, 0x09, 0x77, 0x3d, 0xbd, 0x89, 0x62, 0x09, 0x68, 0x41, 0x9b, 0x2a, 0x7b, 0x34, 0x0c, 0xb3, 0x66, 0x5b, 0x27, 0xd9, 0xf2, 0x04, 0xd8, 0xc7, 0x54, 0x9b, 0x10, 0x14, 0x22, 0xa3, 0x94, 0x5a, 0xd6, 0xa3, 0xbd, 0xa0, 0xbc, 0xd7, 0xdb, 0xb9, 0xba, 0xf5, 0x3d, 0x35, 0x33, 0x94, 0x77, 0xde, 0x78, 0x6d, 0x31, 0xc5, 0xfa, 0x7b, 0x4d, 0xd3, 0x9d, 0xad, 0x97, 0x2b, 0x85, 0x42, 0xa4, 0xf2, 0xa6, 0x1c, 0x69, 0x5c, 0x8a, 0x86, 0xc0, 0x39, 0xd7, 0x11, 0x37, 0x9a, 0xad, 0x76, 0xb2, 0x19, 0x6e, 0xec, 0xb3, 0xd2, 0xd3, 0x92, 0x7a, 0x7e, 0x5e, 0x01, 0x12, 0xd7, 0x2c, 0x06, 0x5b, 0x90, 0x7a, 0x40, 0xf7, 0xcc, 0x4c, 0x7b, 0x96, 0x4d, 0xd6, 0x97, 0x8a, 0x28, 0x60, 0xdb, 0xdb, 0xb5, 0x69, 0x12, 0x05, 0x58, 0x84, 0x30, 0x94, 0x0d, 0x38, 0x8d, 0x2e, 0x2d, 0xee, 0x42, 0x70, 0x95, 0x86, 0x5a, 0x3b, 0x4e, 0x37, 0x25, 0x87, 0x05, 0x4b, 0x07, 0xb1, 0xe7, 0x03, 0x6f, 0xe9, 0xf8, 0x49, 0xeb, 0x44, 0x23, 0xad, 0xb3, 0x7c, 0x52, 0x69, 0xa6, 0xab, 0xe1, 0x3c, 0x25, 0x68, 0xd2, 0xa0, 0xb0, 0x5c, 0x12, 0x42, 0xe5, 0x0e, 0x5c, 0xbc, 0x3a, 0x4f, 0xde, 0xa4, 0xd2, 0x6e, 0x28, 0xd9, 0x31, 0x1c, 0xf8, 0xe9, 0xa3, 0x83, 0xa3, 0xdd, 0x8d, 0x7a, 0x78, 0x1b, 0x6e, 0x0b, 0xdf, 0x2a, 0xca, 0x58, 0xc2, 0xfa, 0xc5, 0xda, 0x18, 0xcd, 0x02, 0xe3, 0x63, 0x3e, 0xf4, 0xf1, 0xdd, 0xd9, 0xeb, 0xe3, 0xd3, 0x97, 0x7f, 0xb1, 0x80, 0x11, 0xb4, 0x07, 0x5a, 0x79, 0xfc, 0xd1, 0x58, 0xaf, 0x77, 0x1f, 0xeb, 0xcc, 0x4c, 0xb9, 0xd9, 0x39, 0xda, 0x05, 0xb0, 0x43, 0xd0, 0x14, 0xf2, 0x32, 0x6b, 0xa1, 0x6d, 0x48, 0xf5, 0xc0, 0x06, 0xc0, 0xa8, 0xb1, 0xed, 0x29, 0xba, 0x3f, 0x32, 0xec, 0x59, 0xd2, 0x2e, 0xb9, 0x71, 0x82, 0x23, 0x52, 0xaf, 0x73, 0x4a, 0x2a, 0x98, 0x72, 0x02, 0x9d, 0x10, 0xb4, 0x1e, 0x5a, 0x2d, 0xf2, 0x69, 0x4e, 0xd6, 0x8a, 0xdc, 0x6a, 0xaa, 0x4a, 0x98, 0xcf, 0xdb, 0xb0, 0x94, 0x28, 0xde, 0x45, 0xb9, 0xc2, 0x46, 0x67, 0x5a, 0x9b, 0xf7, 0x37, 0x10, 0x16, 0xd9, 0xa2, 0xc8, 0x9a, 0xa1, 0x4c, 0xeb, 0x85, 0xf9, 0xf3, 0x8b, 0xeb, 0x74, 0x11, 0x94, 0x84, 0x53, 0x4f, 0x45, 0xa5, 0x4d, 0x9b, 0x3c, 0x49, 0x6f, 0x7a, 0x2d, 0x57, 0xc6, 0xb6, 0xf3, 0x88, 0x3e, 0x69, 0xae, 0x4a, 0xd0, 0x61, 0xe4, 0xe2, 0xe2, 0x2f, 0xe7, 0xc7, 0x5f, 0xbc, 0x20, 0x36, 0xf6, 0x27, 0xaa, 0x3d, 0xa9, 0x5b, 0x5c, 0x2d, 0xa1, 0x1e, 0xee, 0xc1, 0x1a, 0xbe, 0x7f, 0x7d, 0x32, 0x3e, 0x3f, 0x3d, 0x7b, 0xf5, 0xc5, 0x8b, 0xef, 0xc9, 0xa6, 0x34, 0xc2, 0xe3, 0xce, 0x7b, 0xd7, 0xfe, 0xcc, 0x36, 0x51, 0x08, 0x01, 0x45, 0x8e, 0xbf, 0xfb, 0x78, 0xfc, 0xee, 0xdb, 0x2f, 0x5e, 0x5c, 0xa7, 0xd5, 0x80, 0xd6, 0xc7, 0x6f, 0xf7, 0xb4, 0x2c, 0x6d, 0x91, 0x1a, 0x29, 0xe7, 0x93, 0xc5, 0xa7, 0x3a, 0xff, 0x47, 0x96, 0x98, 0xd7, 0x17, 0xeb, 0x10, 0xc6, 0xfc, 0x42, 0xda, 0x60, 0x19, 0xe9, 0x4d, 0xe6, 0xd0, 0x9f, 0x4f, 0xbf, 0x21, 0xa8, 0x5c, 0xeb, 0x28, 0x5d, 0x72, 0xdf, 0xa5, 0xe4, 0x4f, 0x8f, 0x0f, 0x0e, 0x77, 0x5d, 0xb7, 0x4f, 0x40, 0x6d, 0x9b, 0x19, 0x7f, 0x0a, 0xaa, 0xa6, 0xfe, 0xa1, 0x90, 0x81, 0xb6, 0x9c, 0xa1, 0x71, 0x16, 0x15, 0x57, 0x1f, 0x88, 0xd7, 0x09, 0xc9, 0xf9, 0x0c, 0xe2, 0x53, 0x12, 0x43, 0xa0, 0xac, 0xf5, 0xc0, 0xe3, 0x76, 0xf1, 0xc6, 0x03, 0xb9, 0xf9, 0xb3, 0x23, 0x3c, 0x33, 0x1d, 0xf1, 0xda, 0x6d, 0x94, 0x8f, 0xbf, 0x62, 0x2c, 0xa7, 0x6b, 0x52, 0x62, 0xb3, 0x8d, 0x40, 0x13, 0xfa, 0x89, 0xef, 0xb3, 0x17, 0xf3, 0x46, 0x05, 0x58, 0xc9, 0xb0, 0x8c, 0x58, 0xa5, 0x12, 0x9e, 0x62, 0x0a, 0x6c, 0x34, 0x88, 0xf3, 0x25, 0x15, 0x1e, 0x53, 0x99, 0x0e, 0x3b, 0x77, 0x3c, 0xd7, 0xcd, 0x22, 0xbb, 0x4c, 0xa7, 0x77, 0x89, 0x05, 0x98, 0x96, 0x7c, 0xfb, 0x59, 0xf7, 0x76, 0xb2, 0x8f, 0x6f, 0x4a, 0xb6, 0x9c, 0x91, 0xc0, 0x84, 0xfb, 0x41, 0x5c, 0x99, 0xb1, 0x54, 0xa8, 0x50, 0x53, 0xfd, 0x3e, 0xad, 0xd9, 0x8d, 0x58, 0x5e, 0xd2, 0xa6, 0x76, 0xa5, 0x73, 0x7b, 0x8b, 0x3b, 0xd4, 0x47, 0x64, 0x83, 0x5e, 0xc4, 0x1b, 0xf7, 0xf4, 0x51, 0xdb, 0x63, 0xfe, 0x0f, 0x5c, 0x72, 0x42, 0xe1, 0x82, 0x53, 0xf6, 0x05, 0xfd, 0xb5, 0x17, 0x87, 0x9f, 0xbd, 0x16, 0xdc, 0x6d, 0xda, 0x21, 0x57, 0xda, 0xd2, 0x02, 0x69, 0x6c, 0x43, 0xa5, 0xf2, 0x8d, 0xba, 0x80, 0x7b, 0x31, 0xee, 0xb4, 0xd2, 0x95, 0x3c, 0xc1, 0xe6, 0x71, 0xdb, 0xeb, 0xaa, 0x67, 0x48, 0x5b, 0x9c, 0x19, 0x86, 0x68, 0x50, 0x18, 0x48, 0xa9, 0x08, 0x2f, 0x68, 0x20, 0xe2, 0x88, 0xa4, 0x92, 0x98, 0x8d, 0xfa, 0x93, 0x06, 0x7d, 0x52, 0x1f, 0x06, 0x08, 0x0f, 0x31, 0x94, 0x0c, 0x29, 0xd1, 0x55, 0x34, 0xbb, 0x5d, 0xfd, 0x06, 0x9c, 0xa0, 0x41, 0x01, 0x35, 0x0b, 0x2b, 0x6d, 0x26, 0x59, 0xab, 0x56, 0x4a, 0x35, 0x90, 0x30, 0xd2, 0x1d, 0xf0, 0x6c, 0xac, 0x4d, 0xab, 0x56, 0xec, 0x29, 0x1c, 0x38, 0xaf, 0x4a, 0x92, 0x11, 0x30, 0x9f, 0x9d, 0x25, 0x2d, 0x63, 0x57, 0xca, 0x4a, 0xb8, 0x17, 0x44, 0xd2, 0xd7, 0xb0, 0xbd, 0x23, 0xa6, 0xcc, 0xa8, 0x34, 0x06, 0x89, 0x28, 0x23, 0xa1, 0x20, 0x93, 0x18, 0x96, 0xa1, 0xb3, 0x1d, 0x91, 0xea, 0xe3, 0x86, 0x93, 0xf8, 0xbb, 0x22, 0x8a, 0x40, 0xc5, 0x35, 0x71, 0xbe, 0x35, 0x82, 0xdf, 0x8d, 0x6e, 0x67, 0xb8, 0x6b, 0x21, 0x04, 0xf2, 0xc6, 0x2a, 0x6d, 0x11, 0xc8, 0x9d, 0xc4, 0x22, 0x9f, 0x5b, 0xe8, 0x36, 0xf6, 0x7d, 0x4a, 0xbc, 0x25, 0x13, 0x92, 0xa0, 0xaf, 0xed, 0x71, 0xed, 0xa7, 0xf2, 0xa0, 0x3c, 0x2c, 0x3d, 0x0f, 0xc6, 0x2a, 0xb2, 0x1b, 0x7f, 0x2c, 0x67, 0x76, 0xd8, 0xf1, 0x7e, 0x4d, 0x6f, 0xb7, 0xb1, 0x99, 0xa8, 0x5e, 0x2d, 0x79, 0xf1, 0xed, 0xf1, 0xfb, 0xf1, 0xc9, 0xd9, 0xbb, 0x3f, 0x45, 0xcd, 0x61, 0xf9, 0xa5, 0x6d, 0xf4, 0xa6, 0x95, 0xae, 0xae, 0x1b, 0x17, 0x79, 0xc1, 0xd4, 0xd7, 0xc2, 0xa0, 0x47, 0x79, 0x41, 0x8f, 0x04, 0x5d, 0xbe, 0xa6, 0xd9, 0xaa, 0xe1, 0x72, 0x3b, 0x35, 0xa5, 0x5d, 0x47, 0x51, 0x4a, 0x1c, 0x64, 0x23, 0x6e, 0x7f, 0xa0, 0x7f, 0x3b, 0xb0, 0x7f, 0x3b, 0x0c, 0xa9, 0x9d, 0x7f, 0x71, 0x14, 0x6c, 0x50, 0x3c, 0x61, 0xc7, 0x8b, 0x97, 0xaf, 0x57, 0x5c, 0x23, 0x49, 0x58, 0x26, 0x8c, 0x7c, 0xe4, 0x2f, 0x20, 0xe8, 0xdb, 0x40, 0x0d, 0x7f, 0xfd, 0x17, 0xcd, 0xc3, 0xd7, 0x07, 0x5e, 0x05, 0x8b, 0x7d, 0xee, 0x20, 0xf6, 0xdc, 0x41, 0xf8, 0xdc, 0x61, 0xec, 0xb9, 0xc3, 0xf0, 0xb9, 0xa3, 0xd8, 0x73, 0xde, 0x7a, 0x3d, 0xc7, 0x9f, 0x6c, 0xdc, 0x26, 0xcb, 0xb8, 0xf5, 0xaf, 0xa3, 0x91, 0x3b, 0xfe, 0xcf, 0xac, 0xb7, 0xa2, 0xdb, 0xaa, 0xf6, 0x27, 0x19, 0xf6, 0xca, 0xa7, 0x75, 0x38, 0xa3, 0x25, 0x76, 0x5c, 0xcc, 0xe6, 0x7b, 0x07, 0x47, 0xc3, 0x69, 0xbe, 0xba, 0x22, 0xb9, 0xf3, 0x42, 0x3b, 0xbb, 0xd1, 0xe6, 0xd3, 0x62, 0xe5, 0x17, 0x6b, 0xb2, 0xc8, 0x43, 0x3d, 0xe4, 0x74, 0xec, 0xc3, 0x15, 0x09, 0x42, 0x27, 0xde, 0x48, 0xf8, 0x15, 0x07, 0x56, 0xd4, 0xf5, 0x2f, 0x87, 0x30, 0x61, 0x79, 0x93, 0x58, 0xef, 0x0d, 0x39, 0x7a, 0x64, 0x0a, 0x4c, 0xbc, 0x3a, 0x2f, 0x9d, 0xa8, 0x0c, 0xcf, 0x1d, 0x13, 0x39, 0xf4, 0xde, 0x75, 0xed, 0xa2, 0xc5, 0x85, 0x3c, 0x2f, 0x10, 0x77, 0xd4, 0x99, 0xad, 0xe8, 0xac, 0x8d, 0x87, 0x72, 0xf0, 0x76, 0x28, 0x9e, 0x09, 0x45, 0xe5, 0x87, 0xf7, 0xa7, 0x81, 0x6a, 0x99, 0x90, 0x5f, 0xa6, 0x7e, 0xbe, 0xb7, 0x87, 0x0e, 0xe3, 0x57, 0xe9, 0xed, 0xed, 0xa8, 0xce, 0xf6, 0x0c, 0x3f, 0xa9, 0xf7, 0xe0, 0xf0, 0x95, 0x6f, 0x5f, 0x35, 0xcb, 0xc5, 0x66, 0x47, 0x6d, 0xce, 0x7e, 0x2d, 0x69, 0x08, 0xcf, 0xbc, 0x03, 0xc8, 0x0b, 0xad, 0x26, 0xbf, 0xf6, 0x88, 0xc3, 0x52, 0x2f, 0xe9, 0xa4, 0x8a, 0x3e, 0xce, 0x07, 0x24, 0xf9, 0x20, 0x31, 0x11, 0xce, 0x44, 0x1c, 0x02, 0x70, 0xc8, 0x9c, 0xf9, 0xe0, 0xb0, 0x73, 0xe8, 0x05, 0x2a, 0xa7, 0xcd, 0x82, 0x70, 0x86, 0x45, 0xc9, 0xa9, 0x80, 0x88, 0x0f, 0x67, 0x41, 0x6c, 0xd7, 0x6a, 0x3f, 0xf0, 0x81, 0x58, 0x21, 0x2f, 0x39, 0xaa, 0x66, 0xfc, 0xca, 0x4c, 0x93, 0x52, 0xf2, 0x48, 0x99, 0x37, 0x2a, 0x87, 0xf9, 0xef, 0x9f, 0xc2, 0xa2, 0x73, 0xac, 0xa0, 0x9b, 0xb8, 0x47, 0xda, 0x3f, 0x95, 0x7c, 0xf1, 0xd6, 0xf3, 0xd7, 0x5a, 0x0d, 0x32, 0x80, 0xba, 0x14, 0x87, 0x06, 0xc0, 0xb1, 0x6d, 0x8d, 0xdf, 0x9f, 0x6f, 0x0d, 0x38, 0x5f, 0x93, 0xbe, 0x30, 0x34, 0xff, 0x4e, 0x60, 0x65, 0x52, 0x7b, 0x9d, 0xc7, 0x8f, 0x76, 0x05, 0x27, 0x17, 0x73, 0xe4, 0xd2, 0xc9, 0x30, 0x7c, 0x84, 0x5f, 0xba, 0xe4, 0xc2, 0xaa, 0xd5, 0x08, 0xcb, 0xd8, 0x7f, 0xed, 0x05, 0x72, 0xd6, 0xcf, 0x80, 0xb3, 0x38, 0x36, 0xa8, 0x75, 0x3e, 0xec, 0x23, 0xcf, 0x73, 0xd4, 0x89, 0xd0, 0x94, 0xd5, 0x27, 0xe9, 0x07, 0x22, 0x51, 0x0e, 0x30, 0x97, 0xa0, 0xfb, 0x72, 0x8b, 0xd9, 0xb4, 0xbd, 0xa3, 0xde, 0x9a, 0x65, 0xc3, 0x1c, 0x06, 0x5e, 0x4f, 0x8b, 0x61, 0xa5, 0x55, 0xb3, 0x61, 0x5f, 0x15, 0x6b, 0x3a, 0x14, 0x0c, 0xa4, 0xe3, 0xc8, 0x30, 0xf7, 0x60, 0xd5, 0x3c, 0xea, 0x9c, 0xbe, 0x6e, 0x5e, 0xe4, 0xd8, 0x6d, 0x07, 0x7b, 0x3e, 0x24, 0xd8, 0x34, 0x8a, 0xc7, 0x19, 0x21, 0x09, 0xc5, 0x06, 0xec, 0xab, 0x26, 0x53, 0x6c, 0x19, 0xef, 0x44, 0x46, 0x1a, 0x7c, 0x13, 0x36, 0xed, 0xce, 0xda, 0xeb, 0x87, 0x71, 0xff, 0x82, 0xfc, 0xf5, 0xe0, 0xed, 0x68, 0xc2, 0x35, 0x2d, 0x49, 0x13, 0x52, 0x1f, 0xb4, 0x20, 0x5d, 0xd1, 0x86, 0x25, 0xc9, 0x51, 0x76, 0x16, 0xe5, 0x56, 0xe5, 0x2d, 0xcb, 0x51, 0x29, 0x2d, 0x2d, 0x20, 0xbd, 0x07, 0x2d, 0xb4, 0xb5, 0x52, 0x12, 0x91, 0x51, 0xc1, 0x22, 0x0e, 0x7f, 0xdf, 0xdf, 0xef, 0xa9, 0x04, 0x50, 0x01, 0x94, 0xd1, 0xb5, 0xd3, 0x8d, 0x7b, 0xab, 0x2a, 0xc4, 0xf5, 0x4f, 0xa3, 0x68, 0x1f, 0x93, 0x08, 0xaa, 0x11, 0xb9, 0x4c, 0xf5, 0x2b, 0xd2, 0x3d, 0x53, 0x5a, 0x62, 0x77, 0x82, 0x9b, 0xaa, 0x38, 0x4a, 0x3d, 0xf5, 0x22, 0x4c, 0xb9, 0xf8, 0x48, 0x77, 0xeb, 0xa3, 0xb0, 0xce, 0x7d, 0xae, 0xe8, 0x06, 0x6c, 0x66, 0x4e, 0xcd, 0x17, 0x52, 0xc0, 0xa0, 0x52, 0xa4, 0xa0, 0x46, 0xdb, 0x18, 0x57, 0xd9, 0x2d, 0x42, 0xa8, 0xcb, 0xe5, 0x69, 0x1c, 0x73, 0x0d, 0xa9, 0xe5, 0xb5, 0x7a, 0x63, 0x55, 0x5b, 0xec, 0x80, 0xaa, 0xa1, 0x6d, 0x88, 0x55, 0x0a, 0x65, 0xdb, 0x02, 0xdd, 0xff, 0xbe, 0x6a, 0xe8, 0x50, 0x55, 0x20, 0x0d, 0xe6, 0xe7, 0x1d, 0xd6, 0xc1, 0xff, 0x59, 0x87, 0x75, 0xf0, 0x7f, 0xc7, 0x61, 0x1d, 0xfe, 0xbc, 0xc3, 0x3a, 0xfc, 0x3f, 0xeb, 0xb0, 0x0e, 0xff, 0xef, 0x38, 0xac, 0xa3, 0x9f, 0x77, 0x58, 0x47, 0xbf, 0xfc, 0x61, 0xbd, 0xa3, 0xdf, 0x83, 0xe7, 0xab, 0xd6, 0x97, 0x8b, 0x9e, 0xe0, 0xb4, 0xa2, 0xc9, 0x1d, 0x9a, 0xcf, 0x4f, 0x68, 0x43, 0xc4, 0x60, 0x10, 0x65, 0xb2, 0xee, 0x5a, 0x4d, 0x2f, 0x1d, 0x36, 0xbb, 0x6d, 0x92, 0x22, 0x31, 0x28, 0xc1, 0xaa, 0x27, 0x95, 0xe7, 0xcf, 0x25, 0xb9, 0x50, 0x8c, 0x66, 0x30, 0x48, 0xde, 0x8d, 0xc7, 0x9c, 0x76, 0x34, 0x46, 0xe8, 0xb4, 0x7b, 0x58, 0xe4, 0x8c, 0x84, 0x8d, 0xb3, 0x43, 0x6a, 0xe3, 0x99, 0x99, 0xa1, 0xe3, 0x2e, 0xfc, 0xde, 0x32, 0x9d, 0xd2, 0x8f, 0xf7, 0x47, 0x07, 0x6e, 0x77, 0x76, 0x7f, 0x02, 0x10, 0x9c, 0x8b, 0x6b, 0xc6, 0x83, 0xd1, 0x11, 0xc8, 0x76, 0x20, 0xa0, 0xd7, 0x4d, 0xe7, 0x70, 0x6e, 0xdb, 0x51, 0xe9, 0x5e, 0x70, 0xf0, 0xd8, 0xa9, 0x70, 0xfa, 0x85, 0xa2, 0x6b, 0xd2, 0x2f, 0x9c, 0x85, 0x0e, 0x03, 0x38, 0xb0, 0xbe, 0xaf, 0xf2, 0x4b, 0xc2, 0xc2, 0xfb, 0x19, 0x91, 0x65, 0x2f, 0x90, 0xfb, 0xbf, 0x26, 0xb2, 0xfc, 0x20, 0xfb, 0xd8, 0xbf, 0x32, 0xd5, 0x50, 0x3b, 0xab, 0xc5, 0xf1, 0xdb, 0x9d, 0x67, 0x91, 0x4a, 0x81, 0x80, 0xec, 0x38, 0x63, 0xd2, 0xa1, 0x4c, 0x9b, 0x63, 0x79, 0xd7, 0x05, 0xf7, 0xd8, 0x8c, 0x09, 0xf1, 0x97, 0xa4, 0xd2, 0xce, 0xc2, 0x0d, 0x29, 0xb0, 0x05, 0xaf, 0xb2, 0x66, 0x7a, 0x5b, 0x17, 0xfa, 0x11, 0xc9, 0x0d, 0x25, 0x17, 0x39, 0x83, 0x9f, 0x05, 0xe9, 0x07, 0xd3, 0x8c, 0xa1, 0xb1, 0xf2, 0xfb, 0x34, 0xa5, 0x27, 0xed, 0xf5, 0xa6, 0xd3, 0x6c, 0x98, 0xd6, 0xd3, 0x3c, 0x8f, 0xb7, 0x76, 0xd5, 0x38, 0x70, 0x9a, 0xcc, 0xd7, 0xf0, 0xe0, 0x9b, 0xe7, 0x13, 0x8a, 0xb9, 0x69, 0xa3, 0x76, 0xe2, 0x88, 0x40, 0x8b, 0xa2, 0x09, 0x97, 0xeb, 0xe6, 0xb2, 0x54, 0x67, 0xfe, 0x20, 0xe2, 0x18, 0xa4, 0xa8, 0x1c, 0x23, 0x93, 0xd7, 0xd3, 0x2a, 0x5f, 0x01, 0x88, 0xd6, 0x6b, 0x0a, 0x37, 0xb0, 0x1d, 0xd3, 0xe1, 0x69, 0xd3, 0xd0, 0x29, 0xf7, 0x10, 0x27, 0x0e, 0xda, 0xc5, 0xeb, 0x1f, 0x6e, 0x91, 0x5b, 0xd3, 0x76, 0xd3, 0x32, 0x6f, 0x13, 0x7a, 0xb8, 0x17, 0xb5, 0x4c, 0x14, 0xf3, 0xa8, 0x27, 0x0c, 0xaf, 0x61, 0x0c, 0x43, 0x42, 0x77, 0x8a, 0x50, 0x8d, 0x86, 0x21, 0x1a, 0xa0, 0x9c, 0x70, 0x13, 0x02, 0x72, 0xb0, 0x6b, 0x37, 0x88, 0xab, 0xec, 0x96, 0x0b, 0x49, 0x43, 0x93, 0x8b, 0xb9, 0xd9, 0x95, 0x16, 0x59, 0xbe, 0x1c, 0xbf, 0x3a, 0x39, 0x69, 0x15, 0x9d, 0xd2, 0xd6, 0x21, 0x92, 0xca, 0x68, 0x26, 0x49, 0x4d, 0x20, 0xbf, 0x80, 0x13, 0x89, 0x45, 0xe1, 0xb9, 0x59, 0xa4, 0xb9, 0x7e, 0x88, 0xbc, 0x18, 0x46, 0x90, 0x6b, 0x2b, 0xcf, 0x94, 0x53, 0xbc, 0xd6, 0x85, 0x99, 0x66, 0x4e, 0xc8, 0x6b, 0x57, 0xeb, 0x65, 0x5a, 0xfc, 0xfa, 0xc8, 0x71, 0xbe, 0xa1, 0xe7, 0x4a, 0x39, 0x64, 0xb7, 0xf8, 0x5e, 0xf9, 0xb1, 0xde, 0x90, 0xd6, 0x22, 0x8d, 0x39, 0xce, 0x2b, 0x69, 0xdb, 0x08, 0x78, 0x39, 0xf8, 0xdb, 0xb9, 0xb9, 0x86, 0x59, 0x29, 0x70, 0x2e, 0x79, 0x70, 0xb3, 0x5c, 0x8d, 0x20, 0x03, 0xb6, 0xde, 0x06, 0x97, 0xba, 0x4e, 0x41, 0x0e, 0xa3, 0x6d, 0xac, 0x96, 0x3b, 0xe8, 0x8a, 0x4a, 0x7c, 0xe1, 0xb7, 0xbc, 0x01, 0xad, 0x2b, 0x70, 0xff, 0x1d, 0xe0, 0x2b, 0xf0, 0x4b, 0xdc, 0x00, 0x29, 0x24, 0xda, 0xfa, 0xfd, 0x56, 0x12, 0x6f, 0xdd, 0xf2, 0x80, 0x71, 0x5a, 0x00, 0x2c, 0xbf, 0x2d, 0xa5, 0x45, 0x10, 0x61, 0x3c, 0x26, 0xe6, 0x9f, 0xe9, 0xba, 0xc8, 0x6f, 0x51, 0xd1, 0x61, 0x54, 0x89, 0x17, 0xd4, 0xb9, 0xa4, 0xa7, 0x25, 0xc7, 0x2b, 0x56, 0x6c, 0x12, 0xad, 0x4f, 0xc1, 0x2a, 0x3e, 0x98, 0x97, 0x8d, 0xc2, 0xb8, 0xa4, 0xfc, 0x1e, 0x1e, 0x63, 0xe0, 0x63, 0xa3, 0x83, 0xad, 0x47, 0xf2, 0x83, 0x8a, 0xac, 0x21, 0xf7, 0xc7, 0xc6, 0xc8, 0x56, 0x3b, 0x5a, 0x78, 0x01, 0x44, 0xb0, 0x15, 0x15, 0x0d, 0x6c, 0xe8, 0xb0, 0x8d, 0xcd, 0x70, 0x49, 0xfa, 0xed, 0x00, 0x82, 0xd7, 0x86, 0x4b, 0x48, 0xc7, 0xb6, 0x7a, 0xe2, 0xbe, 0x2c, 0xb1, 0x54, 0x26, 0xdb, 0x3f, 0xc8, 0x35, 0xdf, 0xca, 0xbb, 0x91, 0x09, 0x34, 0x78, 0x72, 0xe1, 0x5b, 0xe9, 0x8e, 0x19, 0xca, 0xee, 0x4e, 0x1f, 0xb0, 0x91, 0xd7, 0x92, 0xb8, 0xd5, 0xa5, 0x0c, 0x28, 0x85, 0xf9, 0x82, 0xc8, 0x7f, 0x4f, 0xd3, 0x1b, 0x16, 0x61, 0xee, 0xbd, 0x6b, 0x7e, 0x25, 0xbc, 0x8e, 0x2a, 0xbd, 0x10, 0xe4, 0xa4, 0x7f, 0x03, 0x49, 0x49, 0x95, 0x88, 0xf6, 0x2a, 0xb8, 0x97, 0x5d, 0x57, 0x7d, 0xf1, 0xe2, 0xcf, 0x57, 0xd4, 0x0d, 0x5d, 0xe7, 0x55, 0x31, 0x21, 0xb6, 0xfb, 0xdd, 0x6b, 0x48, 0xdb, 0x6b, 0xe8, 0x13, 0xe4, 0x35, 0xf3, 0xf5, 0x58, 0xd7, 0x99, 0xe8, 0x52, 0x8c, 0x3c, 0x4b, 0xa5, 0x76, 0xd4, 0x40, 0x84, 0xf2, 0xf4, 0x6c, 0xf7, 0x65, 0x3e, 0x58, 0x6e, 0xdb, 0x2e, 0x35, 0xbd, 0x01, 0xb2, 0x6e, 0xbe, 0x18, 0xf9, 0x55, 0x13, 0xe2, 0xa6, 0xd5, 0x62, 0xad, 0x1d, 0xa3, 0xac, 0xb3, 0xe6, 0xc6, 0x97, 0x87, 0x9a, 0x7f, 0x28, 0x32, 0x7b, 0x3f, 0x6c, 0x77, 0x1c, 0xde, 0xa9, 0x9d, 0xc1, 0x46, 0xac, 0x63, 0x27, 0x55, 0x78, 0x53, 0x0a, 0x96, 0xed, 0xaa, 0xda, 0x69, 0xae, 0x78, 0x5e, 0xf8, 0xf4, 0x9e, 0x46, 0x83, 0xa3, 0x22, 0x97, 0x5f, 0x0a, 0xaa, 0x7c, 0xa6, 0xae, 0x4e, 0xef, 0x1b, 0x23, 0xc3, 0x65, 0xcc, 0x47, 0xf4, 0x2b, 0x52, 0x2c, 0xb3, 0x1b, 0x00, 0xb8, 0xdd, 0x71, 0x3f, 0x0c, 0xaf, 0xfe, 0xd8, 0x6f, 0x46, 0x43, 0x53, 0xed, 0x4c, 0x0d, 0x79, 0xd5, 0x48, 0x3c, 0x08, 0x6f, 0x22, 0x40, 0x0a, 0xd4, 0xc4, 0x83, 0xb0, 0x44, 0x0b, 0x21, 0xe9, 0x97, 0xce, 0xdc, 0x4c, 0x20, 0x64, 0x79, 0x38, 0xf8, 0x5c, 0x27, 0x99, 0x40, 0x8b, 0x06, 0x9e, 0x4a, 0x74, 0x38, 0x8c, 0x36, 0xb3, 0xe2, 0xee, 0xab, 0x5a, 0xa5, 0x47, 0x3c, 0x2d, 0xbc, 0xd0, 0xb6, 0x59, 0x20, 0xf5, 0x1f, 0x2a, 0x35, 0x64, 0xd1, 0xdf, 0x8f, 0x65, 0x94, 0x1c, 0xd3, 0xd3, 0xe1, 0x40, 0x7f, 0xc0, 0x08, 0x00, 0x89, 0x77, 0x8d, 0x40, 0xcd, 0x42, 0x80, 0xa1, 0xd7, 0xa5, 0x2b, 0xa1, 0x3c, 0xc6, 0xcb, 0xa5, 0xac, 0x3b, 0x94, 0xf8, 0x8f, 0xa4, 0xd3, 0x15, 0xa9, 0xed, 0xaa, 0x6b, 0x26, 0x5b, 0x97, 0x8b, 0x72, 0x32, 0x31, 0x8b, 0xdf, 0x52, 0x2d, 0xc5, 0x7c, 0x3b, 0xf0, 0x25, 0xfb, 0x33, 0x49, 0xab, 0x4b, 0x58, 0xd2, 0x03, 0x98, 0x11, 0xec, 0xa8, 0xa7, 0x59, 0xb8, 0x4e, 0xba, 0xfa, 0x79, 0x85, 0x42, 0x8f, 0xc8, 0x19, 0xce, 0x06, 0xb4, 0x04, 0x48, 0x6b, 0x6b, 0xf9, 0xfd, 0x51, 0xd0, 0x48, 0x3f, 0xd5, 0xe9, 0x71, 0xb6, 0x61, 0x5f, 0xba, 0xac, 0xeb, 0x3f, 0x03, 0xb6, 0x25, 0xad, 0x08, 0xf3, 0x3a, 0x8c, 0xaf, 0x60, 0x0b, 0xda, 0x0b, 0xda, 0xfa, 0x4f, 0xfa, 0xe3, 0x60, 0x40, 0xff, 0x3d, 0xfc, 0xe7, 0x16, 0x42, 0x30, 0xcf, 0xf7, 0xf6, 0x6e, 0x6e, 0x6e, 0x46, 0x0a, 0x28, 0x68, 0x8e, 0xec, 0xb3, 0xb0, 0xf2, 0x8f, 0x70, 0xd8, 0x7a, 0x3e, 0x70, 0x91, 0x6c, 0xe5, 0xcb, 0xcb, 0xbf, 0x1e, 0x0c, 0x0f, 0xf6, 0xf7, 0xf7, 0x7f, 0x1c, 0xad, 0x68, 0x7f, 0xe7, 0x18, 0xd6, 0xfc, 0xd7, 0x1f, 0x76, 0x8f, 0x67, 0xb2, 0x17, 0x85, 0x7c, 0xe5, 0xdf, 0xa9, 0x95, 0x5d, 0x70, 0xd3, 0x0e, 0x26, 0xe5, 0xe7, 0x1e, 0x8b, 0xe1, 0x38, 0x72, 0xba, 0xa9, 0x8e, 0x9e, 0x53, 0x07, 0x29, 0x84, 0xf0, 0xf8, 0xe8, 0xf0, 0x30, 0x61, 0x85, 0x83, 0xcb, 0xd3, 0x38, 0x95, 0x81, 0x90, 0x09, 0xa4, 0xc3, 0x38, 0xcb, 0x32, 0x82, 0x5e, 0x4c, 0x39, 0x58, 0x63, 0x28, 0xa3, 0x27, 0xa5, 0x93, 0x0d, 0xe3, 0xdc, 0x08, 0xf2, 0x72, 0x76, 0xe7, 0x46, 0x35, 0x24, 0x5e, 0x11, 0x63, 0xa5, 0x26, 0xa1, 0x77, 0x3e, 0xc4, 0x63, 0x2a, 0xd9, 0xd6, 0x41, 0x39, 0xa1, 0xb4, 0xbe, 0x83, 0x94, 0x03, 0x4c, 0x6e, 0x51, 0x4a, 0x9f, 0x6b, 0x44, 0xee, 0xe7, 0xeb, 0x4a, 0xba, 0x1c, 0x21, 0xd1, 0xe1, 0x26, 0xbd, 0x6b, 0x09, 0x7b, 0xb3, 0xe3, 0x2f, 0xcc, 0x7f, 0x02, 0xbf, 0xb6, 0x5c, 0x4d, 0x52, 0x2d, 0x6d, 0x9b, 0xe6, 0x79, 0xd6, 0x4c, 0xaf, 0xba, 0xe9, 0x96, 0xe0, 0xe0, 0x66, 0xb6, 0x57, 0x66, 0x41, 0x77, 0xb6, 0xa1, 0x7a, 0xac, 0x03, 0xa4, 0x57, 0x97, 0x6b, 0x86, 0xa4, 0x86, 0x1f, 0x28, 0x4d, 0xe0, 0x86, 0xf0, 0xcc, 0x14, 0x7b, 0xd0, 0x3d, 0x6d, 0xdf, 0x44, 0x7c, 0x2f, 0xaf, 0xb5, 0x6c, 0x78, 0x7a, 0x95, 0x2d, 0x85, 0x63, 0xee, 0x68, 0xce, 0xe4, 0x96, 0xd0, 0xe0, 0x56, 0xc4, 0x22, 0xdf, 0x9a, 0xeb, 0xaf, 0xcc, 0x4a, 0x76, 0xa5, 0xf0, 0xd6, 0x8a, 0x39, 0xe9, 0x85, 0x74, 0xb9, 0x26, 0xc3, 0x71, 0x92, 0x8a, 0x3c, 0xd1, 0x7a, 0xf0, 0x9e, 0xcc, 0x66, 0xc3, 0x16, 0xb3, 0x0a, 0x42, 0xac, 0x5e, 0x4f, 0x86, 0xa2, 0xf9, 0x60, 0x46, 0x48, 0x2e, 0xa1, 0xdb, 0xfa, 0xfa, 0xe4, 0xd5, 0x05, 0x97, 0xc0, 0x9a, 0xff, 0x52, 0xb5, 0x8c, 0xf9, 0x83, 0x2a, 0x5f, 0xc3, 0x46, 0x55, 0xe7, 0x47, 0x9c, 0x42, 0x04, 0x62, 0xb5, 0x11, 0xa5, 0xd4, 0xa5, 0xd9, 0xb5, 0x54, 0xbf, 0x81, 0xd7, 0xf6, 0x24, 0x92, 0x3b, 0xdc, 0xd2, 0x12, 0x6d, 0xe5, 0xf4, 0xa3, 0xc7, 0xa3, 0x7d, 0x5e, 0x22, 0xed, 0xa1, 0x64, 0xd0, 0x48, 0xa5, 0x16, 0xdc, 0x48, 0x1a, 0x61, 0x4c, 0xe3, 0x39, 0x03, 0x76, 0x2a, 0x83, 0x84, 0xf1, 0xcf, 0x19, 0x4a, 0x41, 0x7f, 0xeb, 0x65, 0x4b, 0xde, 0x53, 0x0e, 0xa3, 0xb2, 0x4b, 0x72, 0x84, 0xef, 0xba, 0xd8, 0xd5, 0x40, 0x16, 0xd7, 0x2a, 0x1d, 0x30, 0xe1, 0x58, 0xb9, 0x9c, 0xd0, 0x84, 0xe4, 0x8d, 0x0f, 0x5c, 0xe7, 0xa9, 0x92, 0xa4, 0x80, 0xc8, 0x2c, 0xa9, 0x3e, 0x42, 0xa7, 0x56, 0xd7, 0xea, 0x30, 0xa6, 0x9f, 0x04, 0x2d, 0xbd, 0x86, 0x7f, 0x16, 0xe4, 0x59, 0xd6, 0x93, 0x63, 0xa5, 0x5f, 0x38, 0xcb, 0x5d, 0x4d, 0x73, 0x65, 0xd3, 0x55, 0x55, 0xce, 0x11, 0x39, 0x0c, 0xf9, 0xe4, 0x9b, 0x6e, 0x57, 0xf6, 0x2c, 0xb0, 0x71, 0x80, 0x6f, 0xe2, 0x55, 0xf7, 0xa5, 0x58, 0x1e, 0x8b, 0x08, 0x36, 0xf4, 0x38, 0x32, 0xb4, 0xf5, 0x47, 0x0a, 0x09, 0x7d, 0xf1, 0xd2, 0x46, 0x10, 0xe3, 0x50, 0x46, 0x50, 0xa7, 0x6a, 0xe6, 0x6f, 0x6d, 0x63, 0x46, 0x78, 0x1a, 0xf1, 0xfd, 0xec, 0x96, 0x31, 0x3b, 0x71, 0x72, 0x37, 0x79, 0x71, 0x74, 0x98, 0xd4, 0x77, 0x46, 0x83, 0x58, 0xfa, 0x9b, 0xd0, 0x6d, 0x38, 0x1e, 0x0d, 0x85, 0xb5, 0x3a, 0xf5, 0x31, 0xeb, 0xfa, 0x40, 0xaf, 0xbc, 0xc4, 0x2b, 0xd2, 0xdd, 0x4b, 0xf3, 0xf5, 0x1e, 0xd0, 0xc5, 0xbe, 0x54, 0x26, 0x36, 0x59, 0xa4, 0xc5, 0x27, 0x9b, 0x55, 0xcd, 0x03, 0x0d, 0xa8, 0x39, 0x2c, 0x17, 0x92, 0xba, 0x1f, 0xca, 0xf6, 0xb0, 0x60, 0x0c, 0xba, 0xa8, 0x41, 0xb1, 0x5f, 0xa6, 0x15, 0x6a, 0x0c, 0xb1, 0x6d, 0x92, 0xfe, 0xec, 0x1f, 0x8a, 0x2d, 0x0f, 0x06, 0x11, 0x79, 0x3d, 0xd5, 0x43, 0x11, 0xc6, 0x31, 0x76, 0xc6, 0xfd, 0xd1, 0x1c, 0xf2, 0x9e, 0x8e, 0x70, 0xbf, 0x5c, 0x6c, 0xdd, 0x02, 0x21, 0x1b, 0xae, 0x6d, 0xfe, 0xfb, 0x5c, 0x03, 0x80, 0x7d, 0xfc, 0xbb, 0x11, 0xac, 0x32, 0xd7, 0xf1, 0xdc, 0x86, 0x0c, 0xfd, 0x16, 0xb6, 0xac, 0xe2, 0xb9, 0x50, 0x65, 0x2c, 0xc2, 0x3e, 0x4a, 0xce, 0x9c, 0x39, 0x59, 0x0c, 0x80, 0x89, 0xdb, 0x54, 0x53, 0x31, 0x26, 0xf1, 0x77, 0x49, 0xdd, 0x4c, 0x17, 0xd1, 0x96, 0xec, 0xd0, 0x72, 0xea, 0x1c, 0xd0, 0xdc, 0x56, 0x12, 0x78, 0x22, 0x8e, 0xbb, 0xa5, 0x3a, 0x7e, 0x6c, 0xb6, 0x96, 0xda, 0x8a, 0x02, 0xba, 0x2a, 0xc8, 0xcc, 0xe6, 0x45, 0x44, 0x1b, 0xec, 0xc4, 0xd7, 0x5b, 0x4b, 0x24, 0x7f, 0x61, 0x64, 0xe2, 0x7a, 0x65, 0x43, 0x0f, 0x89, 0x80, 0x34, 0x10, 0xfa, 0x4b, 0x59, 0x0c, 0x02, 0x7c, 0x27, 0xc4, 0xce, 0xc5, 0xe9, 0x44, 0x59, 0x81, 0x4b, 0xe9, 0xe1, 0x9d, 0x59, 0x57, 0x33, 0xbf, 0xa9, 0xe4, 0xe9, 0x3e, 0x7e, 0x4f, 0xab, 0x61, 0xee, 0x05, 0xa4, 0x87, 0x61, 0x68, 0x70, 0xc0, 0xb5, 0x7c, 0xc1, 0x92, 0xce, 0x0a, 0xbd, 0x91, 0x02, 0x37, 0x95, 0x73, 0x21, 0x75, 0xed, 0xef, 0xd5, 0x15, 0x35, 0x6d, 0xf2, 0xbc, 0x1f, 0x82, 0xd9, 0x65, 0xf4, 0xcd, 0x40, 0x5f, 0x46, 0x0b, 0x02, 0xce, 0x44, 0x34, 0x3b, 0x0c, 0x98, 0x68, 0xca, 0xe7, 0xa1, 0x84, 0x49, 0x97, 0x9e, 0x4c, 0x1a, 0x45, 0x56, 0xb0, 0x5d, 0x5f, 0x2a, 0xf8, 0x5a, 0x32, 0x0d, 0xb1, 0x13, 0x67, 0x0c, 0xad, 0x5b, 0xf3, 0x88, 0xb6, 0xc1, 0xf9, 0xa5, 0x48, 0x91, 0x9a, 0xd2, 0x3c, 0x0d, 0x43, 0x63, 0x54, 0x6b, 0xda, 0x9c, 0xda, 0xed, 0x7c, 0xa4, 0xa9, 0x14, 0xaf, 0x34, 0xd1, 0x36, 0x1a, 0x77, 0x3e, 0xe4, 0xaf, 0xb9, 0x0d, 0xd7, 0x39, 0xef, 0x3d, 0xc3, 0x99, 0x4d, 0xaa, 0x3c, 0x9b, 0x1b, 0xee, 0x85, 0x25, 0x71, 0x0a, 0x69, 0xe0, 0x35, 0xca, 0x08, 0xf7, 0x9a, 0xb2, 0xd3, 0xcd, 0x39, 0x52, 0x01, 0x71, 0x0e, 0xc7, 0x11, 0xf3, 0x44, 0x0b, 0x2e, 0xc7, 0x20, 0xf3, 0xd7, 0xda, 0xb8, 0x39, 0xd5, 0x92, 0xa6, 0x68, 0x7e, 0x26, 0xfa, 0xb0, 0x8b, 0xc7, 0x93, 0x08, 0xac, 0xa0, 0x5b, 0x6c, 0x1b, 0x39, 0xe2, 0x8b, 0xcc, 0x56, 0x45, 0xbb, 0xf1, 0xba, 0x81, 0xf5, 0x74, 0xd6, 0x85, 0xfd, 0xf4, 0x4d, 0x56, 0x19, 0xf1, 0x57, 0x9a, 0x75, 0x7f, 0xfb, 0x58, 0xa3, 0x10, 0xd2, 0x94, 0x5e, 0x94, 0x11, 0xb9, 0xa5, 0x68, 0x90, 0x88, 0xa9, 0x07, 0xe1, 0x0b, 0x2e, 0xde, 0xa0, 0xbd, 0xd5, 0x37, 0x7d, 0x85, 0xa4, 0x4b, 0xa1, 0x03, 0x80, 0x14, 0x1b, 0xea, 0x23, 0xf5, 0x32, 0xde, 0x7d, 0x4c, 0xbf, 0x09, 0xf5, 0xcf, 0x68, 0x58, 0x44, 0x2d, 0xe4, 0xce, 0x33, 0xf7, 0xb6, 0x9c, 0x34, 0x29, 0x37, 0xf0, 0xb6, 0x33, 0xbf, 0xc8, 0xc9, 0xe1, 0xa3, 0x79, 0x4e, 0xd1, 0xb2, 0x9e, 0xe6, 0x4a, 0x1a, 0x13, 0x28, 0x3e, 0x78, 0x27, 0x3d, 0x82, 0xb4, 0xc8, 0xfa, 0x8a, 0x14, 0x31, 0xd2, 0x0f, 0x60, 0xe4, 0xc7, 0xd5, 0x7b, 0x6c, 0xda, 0xbb, 0x8b, 0xd3, 0xb7, 0x83, 0xce, 0xb5, 0x13, 0x95, 0xc6, 0xb3, 0x88, 0x95, 0xe5, 0x08, 0x4d, 0x85, 0x98, 0x00, 0x55, 0x22, 0xfb, 0x61, 0x4b, 0x0c, 0x19, 0x93, 0x82, 0xb6, 0x6e, 0x20, 0xc9, 0x38, 0x95, 0x94, 0xae, 0xa9, 0xd9, 0xcf, 0xfb, 0x1a, 0x7a, 0xb2, 0x89, 0x08, 0x6b, 0x9c, 0x3d, 0x5c, 0x25, 0x46, 0x9e, 0x18, 0x66, 0xb3, 0x09, 0x60, 0xfd, 0xc2, 0x69, 0xc5, 0xee, 0xab, 0xbc, 0x14, 0x62, 0x2f, 0xdc, 0x30, 0x23, 0x79, 0x5d, 0xde, 0x14, 0xc3, 0x53, 0xaa, 0x3e, 0x4e, 0x4e, 0xcb, 0x4b, 0xba, 0x41, 0xef, 0x00, 0x1f, 0x15, 0x9c, 0xda, 0x87, 0xf3, 0x77, 0xc9, 0x0e, 0xc9, 0xdd, 0xe4, 0xdc, 0x62, 0xce, 0xd1, 0xa3, 0xbb, 0x62, 0x62, 0xd4, 0xac, 0x92, 0xc8, 0x6c, 0x06, 0xc9, 0xf1, 0xf7, 0x2f, 0xdf, 0x9e, 0x9f, 0x1e, 0xff, 0xc0, 0x09, 0x32, 0xc1, 0x72, 0xe8, 0xc7, 0x5f, 0x7a, 0x36, 0x17, 0x22, 0x34, 0x94, 0x34, 0x68, 0x66, 0x12, 0x05, 0x9c, 0x21, 0xea, 0x64, 0xb6, 0xa8, 0x24, 0x38, 0x1e, 0x9f, 0x9f, 0x0c, 0x15, 0x2d, 0x8e, 0x7b, 0x95, 0xe6, 0x05, 0x99, 0x47, 0x30, 0xb1, 0xb5, 0xcd, 0x09, 0x51, 0xd1, 0x30, 0x70, 0xca, 0xc8, 0x7d, 0x18, 0x24, 0xef, 0x34, 0x15, 0x71, 0x80, 0x43, 0xa7, 0x3b, 0xf8, 0x3a, 0xbf, 0x44, 0x44, 0xa9, 0x93, 0x43, 0x26, 0x06, 0x08, 0xd1, 0x41, 0x80, 0xc5, 0xe8, 0x75, 0x99, 0xab, 0xb3, 0x05, 0x3b, 0x2f, 0x7b, 0xe5, 0x23, 0xb3, 0x48, 0x9c, 0x22, 0xea, 0x44, 0x82, 0x50, 0x99, 0xd4, 0x8d, 0x4c, 0x5a, 0xed, 0xed, 0x2c, 0x85, 0xb0, 0x54, 0x10, 0x5d, 0xc2, 0xb2, 0xfd, 0xe7, 0xc9, 0xd6, 0x70, 0x9d, 0x3c, 0xdf, 0xfa, 0x15, 0x55, 0x04, 0xdf, 0xd3, 0x1b, 0x69, 0x96, 0xa5, 0x45, 0xbb, 0x36, 0x28, 0xa0, 0x5d, 0x1e, 0xb8, 0x8d, 0x82, 0x38, 0xdc, 0xe0, 0x33, 0x37, 0x37, 0x5d, 0x14, 0xfa, 0xc9, 0xfa, 0xf2, 0x32, 0x02, 0xe7, 0x42, 0x9d, 0xf8, 0x32, 0xb8, 0x7f, 0xc8, 0x9b, 0xb2, 0x5d, 0x27, 0xec, 0xc3, 0x37, 0xf3, 0xdf, 0x42, 0x5c, 0x92, 0x79, 0xc8, 0x55, 0x59, 0xce, 0x48, 0x55, 0x7d, 0x99, 0x70, 0x00, 0x82, 0xa2, 0x14, 0x55, 0x13, 0x0e, 0xc7, 0xda, 0xdb, 0xf6, 0x9f, 0xb6, 0x6d, 0x94, 0x75, 0x4b, 0xf4, 0x2a, 0xf0, 0xeb, 0x2d, 0x56, 0x62, 0x27, 0xdc, 0xf0, 0x76, 0x90, 0x6c, 0xbf, 0xd8, 0x96, 0xe7, 0xb6, 0xa2, 0x2a, 0x1a, 0xbf, 0xc3, 0x11, 0x3e, 0xd6, 0xaa, 0xa7, 0xd6, 0x05, 0x4a, 0xca, 0x5f, 0x3e, 0x9b, 0x65, 0x10, 0xdb, 0xd2, 0x33, 0x32, 0x61, 0x84, 0xc7, 0x81, 0xf8, 0x7e, 0xba, 0x2a, 0x07, 0xa6, 0xae, 0x33, 0xe7, 0xb9, 0x52, 0x2b, 0x43, 0x9e, 0x81, 0xd7, 0x59, 0x99, 0x42, 0x12, 0xae, 0xc7, 0x9f, 0x7c, 0xb5, 0xef, 0xa6, 0x70, 0x5a, 0x29, 0x19, 0xc7, 0xd0, 0x84, 0xa3, 0x05, 0x84, 0x83, 0x4e, 0x6d, 0x1e, 0xe2, 0x5a, 0xa1, 0xfb, 0xd2, 0xeb, 0x82, 0x61, 0x46, 0xde, 0xae, 0x08, 0xbb, 0xac, 0xfc, 0x84, 0x9e, 0xae, 0x65, 0xd5, 0xf7, 0x7d, 0xf5, 0xec, 0x3a, 0xc2, 0x63, 0x51, 0xab, 0x05, 0x12, 0xa4, 0x4d, 0xe0, 0x41, 0xd1, 0x05, 0xd4, 0xb6, 0x1b, 0x84, 0x68, 0x36, 0xdc, 0x59, 0x4e, 0x7a, 0x06, 0x0f, 0x6d, 0xe8, 0xa9, 0x1d, 0x2b, 0xd5, 0x2a, 0xe1, 0x98, 0x9b, 0xd5, 0x2f, 0xb7, 0x6d, 0x77, 0x2f, 0x14, 0x57, 0x36, 0x1a, 0x0c, 0x6c, 0xac, 0xd4, 0x6e, 0xd5, 0x6f, 0x8e, 0xfa, 0x21, 0xd4, 0xfc, 0xc0, 0x5b, 0x98, 0xfc, 0x19, 0x0d, 0x8b, 0x7c, 0x2b, 0xb7, 0xaa, 0x0e, 0xed, 0xac, 0xd7, 0x12, 0x38, 0xf3, 0xa3, 0x51, 0x52, 0x2a, 0xc8, 0x5e, 0xc3, 0x42, 0x5b, 0x74, 0x71, 0x7c, 0x5e, 0xd3, 0x06, 0x72, 0x78, 0xf7, 0xeb, 0x51, 0x44, 0x85, 0x65, 0x9d, 0x14, 0x24, 0x27, 0xab, 0x61, 0xf7, 0x3a, 0x42, 0x69, 0xfa, 0xbe, 0x66, 0xec, 0xa0, 0x27, 0x3b, 0x0f, 0x1d, 0x0b, 0xad, 0x42, 0x7e, 0x1c, 0x55, 0x33, 0x04, 0x2b, 0xee, 0x24, 0xb1, 0x86, 0xdb, 0x76, 0x17, 0x9f, 0x34, 0x83, 0x92, 0x06, 0xcf, 0x6e, 0xb3, 0xe9, 0xba, 0x69, 0x97, 0xc0, 0x79, 0x73, 0x52, 0x64, 0x27, 0x9e, 0xd6, 0x0e, 0xae, 0x82, 0x00, 0xde, 0x6c, 0x9d, 0x2b, 0x2c, 0xcf, 0xf3, 0xad, 0x5d, 0x89, 0xe3, 0xa6, 0xac, 0xc1, 0xf3, 0x8f, 0x63, 0xf1, 0x59, 0x9d, 0x73, 0x95, 0xb1, 0x3b, 0xd5, 0x25, 0x2b, 0x44, 0x3f, 0x6f, 0x88, 0xb4, 0x9a, 0xc5, 0xbe, 0xfd, 0x86, 0x7d, 0x6f, 0xde, 0xa7, 0x6d, 0xbb, 0x4e, 0x71, 0xcb, 0xd5, 0xc1, 0x55, 0x0e, 0xbe, 0x8c, 0xb6, 0xe5, 0xa3, 0xe4, 0xe5, 0xb5, 0xa1, 0x6e, 0xd8, 0xf1, 0xfa, 0xaa, 0xee, 0x7f, 0xe0, 0x0e, 0x3d, 0x39, 0xbf, 0x7e, 0x22, 0xde, 0x6c, 0x52, 0x39, 0x48, 0xe6, 0xe1, 0x47, 0x96, 0xe3, 0x07, 0xab, 0xf8, 0x54, 0x4d, 0x1e, 0x99, 0x3f, 0xbe, 0xa1, 0x3f, 0xe6, 0xec, 0x16, 0x10, 0x50, 0x3d, 0xf6, 0xc3, 0x86, 0xa4, 0x3d, 0x3e, 0xb5, 0x7f, 0xd8, 0x44, 0x2d, 0x73, 0xea, 0x54, 0xa9, 0x48, 0x10, 0x7c, 0x0e, 0x0c, 0x09, 0xa6, 0x8d, 0x8e, 0x33, 0xd0, 0xfa, 0xe1, 0x78, 0x7d, 0x07, 0x10, 0xe3, 0x06, 0x40, 0x64, 0x1b, 0xc0, 0xe7, 0x34, 0x66, 0x46, 0x5e, 0xc6, 0xea, 0x47, 0xcd, 0x56, 0xfd, 0x83, 0xe2, 0x70, 0xb6, 0x94, 0x7d, 0x96, 0x69, 0x6e, 0x85, 0x90, 0xa0, 0x97, 0xcf, 0xc1, 0xde, 0x69, 0xba, 0x66, 0xcc, 0xce, 0xc2, 0x84, 0x54, 0x0b, 0x94, 0xd7, 0xb7, 0x64, 0x08, 0x77, 0xf9, 0x23, 0xc4, 0x9c, 0xed, 0x7f, 0xef, 0x35, 0xea, 0xa7, 0xe5, 0xc2, 0xf3, 0x55, 0x80, 0xf3, 0x23, 0xb5, 0x87, 0xcd, 0x19, 0x31, 0x38, 0x1d, 0x3c, 0x2c, 0xb6, 0x0e, 0x2b, 0x26, 0x3d, 0xf3, 0x5c, 0xa2, 0x65, 0x24, 0x35, 0xdd, 0x00, 0x57, 0xf8, 0xa4, 0xd1, 0xea, 0x65, 0xb6, 0xa4, 0xc0, 0x97, 0x95, 0x8b, 0x82, 0xe1, 0x45, 0x8a, 0x15, 0x3e, 0x3e, 0x8c, 0x0f, 0x37, 0x23, 0xfd, 0x8d, 0x44, 0x2c, 0xa7, 0x6f, 0xfd, 0x5b, 0x10, 0xed, 0xac, 0xef, 0x8a, 0xe9, 0xd5, 0xeb, 0x77, 0xe3, 0xf8, 0xeb, 0xe1, 0xe2, 0xf0, 0xbc, 0xd1, 0x43, 0x88, 0x18, 0xa0, 0xc0, 0x08, 0x88, 0xa5, 0x51, 0xf2, 0x5e, 0x7a, 0xbf, 0x8b, 0x0f, 0xd7, 0x7a, 0xc1, 0x7a, 0x02, 0x49, 0xb1, 0x60, 0x26, 0x2e, 0x9a, 0x27, 0xc2, 0x2e, 0xc3, 0x94, 0xae, 0x02, 0x2d, 0x2f, 0x54, 0xa0, 0xed, 0x9d, 0xa6, 0x80, 0x91, 0xa1, 0x02, 0x19, 0xb2, 0xf2, 0x12, 0xd0, 0xba, 0x74, 0x8d, 0x86, 0x3b, 0xfa, 0xc7, 0x4f, 0x39, 0xe6, 0x53, 0x63, 0xd1, 0x66, 0x91, 0xe0, 0xa2, 0xbf, 0x43, 0xad, 0x84, 0x20, 0x2f, 0xf8, 0x6b, 0x68, 0x75, 0x41, 0xaf, 0x33, 0x99, 0x0e, 0x84, 0x5a, 0xf1, 0xa3, 0xaa, 0x6f, 0x49, 0x66, 0x53, 0x0e, 0xbf, 0xfa, 0x73, 0x28, 0x3d, 0x5f, 0xbf, 0xeb, 0xf9, 0x1c, 0xfd, 0x66, 0xa8, 0xd5, 0x84, 0xa2, 0x11, 0x78, 0x2a, 0x7d, 0xb8, 0x17, 0x82, 0x85, 0x1c, 0x9f, 0x80, 0x02, 0x25, 0xdf, 0xc3, 0x25, 0xcc, 0x13, 0xf2, 0xc7, 0xc6, 0x07, 0x25, 0xa7, 0x3f, 0xfe, 0x29, 0x4a, 0xf6, 0xdf, 0xe1, 0x04, 0xbf, 0xe4, 0x3d, 0x07, 0x71, 0xcf, 0x45, 0x13, 0xde, 0x8d, 0x1c, 0x91, 0xfb, 0x4c, 0x7c, 0x38, 0xe2, 0x6f, 0x31, 0x48, 0x2a, 0xe2, 0x0b, 0x87, 0xfc, 0xc7, 0xde, 0xa1, 0x4d, 0x4e, 0xb3, 0x05, 0xa1, 0xb8, 0xa4, 0x46, 0x80, 0x87, 0x0a, 0x42, 0x91, 0xdf, 0x8e, 0x91, 0x4f, 0xd0, 0x43, 0xcd, 0x48, 0x3c, 0xe0, 0x8c, 0x03, 0xbb, 0x07, 0x34, 0x51, 0xd5, 0xc4, 0xa2, 0x33, 0x19, 0xb3, 0xfb, 0xee, 0x3e, 0x62, 0xca, 0x23, 0xf9, 0x74, 0x9b, 0x70, 0x37, 0xdf, 0x1a, 0x25, 0x89, 0x84, 0xeb, 0xfd, 0xd7, 0xd8, 0xd2, 0x8d, 0x7d, 0x27, 0xd9, 0x99, 0x18, 0x89, 0xed, 0xe1, 0xe8, 0x10, 0xbf, 0x79, 0x84, 0x12, 0x96, 0xf8, 0x70, 0x8f, 0x3f, 0x7f, 0xfc, 0x68, 0x77, 0x77, 0x20, 0xae, 0x2a, 0xce, 0x8e, 0x99, 0x50, 0x31, 0x56, 0x4e, 0x7c, 0x8b, 0xe3, 0x4c, 0xb4, 0xc1, 0x57, 0xdc, 0x57, 0x89, 0xbf, 0x1b, 0x89, 0x80, 0x3b, 0x83, 0xcf, 0xbe, 0x4a, 0x87, 0x48, 0x26, 0x38, 0x38, 0xba, 0x35, 0x83, 0x53, 0xe5, 0x89, 0xb5, 0x0b, 0xba, 0xf4, 0x72, 0x05, 0x38, 0x52, 0x9c, 0x87, 0x91, 0xdc, 0x4a, 0x1c, 0x2f, 0x4e, 0x55, 0xd2, 0x86, 0x89, 0xa0, 0xe7, 0x2c, 0xf6, 0xe8, 0x0f, 0xa2, 0xe7, 0x2b, 0x6d, 0xe0, 0x7c, 0xbe, 0x9e, 0x2c, 0x8c, 0x04, 0x1a, 0xaf, 0xe7, 0x73, 0x73, 0xd6, 0xa7, 0xb9, 0xb4, 0xe2, 0x16, 0x5b, 0x41, 0x7b, 0xa2, 0xf5, 0xc9, 0x1c, 0x5e, 0x38, 0x51, 0x1a, 0x93, 0x5a, 0xab, 0x6e, 0xc6, 0x95, 0x70, 0xb3, 0xde, 0xb6, 0xb5, 0xe2, 0x6f, 0xd5, 0xeb, 0xf9, 0xb0, 0x6f, 0x61, 0xb7, 0x59, 0x1d, 0x9a, 0x71, 0x6f, 0x29, 0x6e, 0x6b, 0x04, 0xf6, 0x83, 0xf9, 0x93, 0xed, 0x79, 0xdd, 0x4e, 0xd9, 0xb5, 0x7a, 0xe7, 0x0d, 0xe9, 0x9d, 0xc0, 0xe0, 0xa1, 0x68, 0x46, 0xf2, 0x82, 0x35, 0xcc, 0x68, 0x17, 0x64, 0x6e, 0xd5, 0x29, 0x60, 0x08, 0xbe, 0x2e, 0x0a, 0xb5, 0x1e, 0x7e, 0xff, 0x94, 0x1a, 0x20, 0x4a, 0x12, 0xe6, 0x22, 0x43, 0x46, 0x37, 0xf1, 0xc7, 0x10, 0x95, 0xa4, 0x12, 0xfc, 0x77, 0xf1, 0x1a, 0x24, 0xe2, 0xfc, 0x10, 0x27, 0x3e, 0xd2, 0xeb, 0x52, 0x00, 0x2b, 0xc1, 0x09, 0xc4, 0x78, 0x3e, 0x1c, 0x4b, 0x30, 0xfb, 0x32, 0x8b, 0x19, 0x76, 0xed, 0x10, 0x8f, 0x82, 0x2d, 0xd4, 0xec, 0x07, 0x95, 0xaf, 0x84, 0xbe, 0x1b, 0x3a, 0xae, 0xd0, 0x12, 0x6b, 0x60, 0x13, 0x27, 0x5b, 0x3c, 0x9f, 0x2d, 0x81, 0x43, 0xd1, 0x3a, 0x39, 0x24, 0x60, 0xa9, 0xe1, 0xc0, 0xaa, 0xb7, 0x8c, 0xcf, 0xde, 0xbd, 0x48, 0x4c, 0x5d, 0x54, 0xc9, 0x2f, 0x35, 0x8f, 0x6b, 0x8b, 0x95, 0xf6, 0xb2, 0xdb, 0x99, 0x5e, 0x86, 0xb3, 0xbb, 0x12, 0x41, 0x5c, 0xe0, 0xcc, 0x08, 0x24, 0xa9, 0xd3, 0xa9, 0x99, 0x41, 0x87, 0x5b, 0x71, 0x7d, 0xda, 0xee, 0x41, 0x62, 0x9b, 0x4c, 0xb6, 0x0c, 0x3f, 0xfd, 0x8a, 0xda, 0xf9, 0x94, 0xde, 0xdd, 0xe4, 0xcd, 0x3a, 0x64, 0xba, 0x12, 0x29, 0x06, 0x3e, 0x05, 0x42, 0x13, 0x74, 0x12, 0x0e, 0x44, 0x02, 0x56, 0x1e, 0x25, 0xbb, 0x35, 0x00, 0x87, 0xb6, 0x4c, 0x82, 0x7a, 0x91, 0x18, 0x85, 0xe4, 0x26, 0xc8, 0x10, 0x27, 0x00, 0x53, 0x37, 0xbb, 0x76, 0x05, 0x9c, 0x19, 0xe0, 0xf7, 0xff, 0xa9, 0xbf, 0xfc, 0x48, 0x9b, 0xf5, 0x4f, 0xdd, 0x2c, 0x99, 0x76, 0x1a, 0xc0, 0x24, 0xc0, 0xbc, 0xfe, 0x3d, 0x36, 0xe5, 0x6f, 0x94, 0xd4, 0xc4, 0x3b, 0x43, 0x00, 0x45, 0x18, 0xee, 0xf7, 0x23, 0xab, 0x46, 0xeb, 0x10, 0x54, 0xf6, 0xcd, 0xce, 0x82, 0xc9, 0x5d, 0xe0, 0x92, 0x22, 0x1a, 0xfc, 0xa1, 0x18, 0x00, 0x6a, 0xd9, 0x58, 0x74, 0x84, 0xd2, 0xc2, 0x9d, 0x74, 0xf9, 0x18, 0x7f, 0xa8, 0x04, 0x73, 0xc8, 0xd8, 0x32, 0x66, 0xe2, 0x64, 0xe7, 0xf1, 0xcf, 0xe3, 0x86, 0x85, 0x4d, 0x97, 0xd5, 0x7d, 0x6e, 0x81, 0x50, 0x99, 0x91, 0xa8, 0x49, 0xbc, 0x9a, 0xe2, 0x13, 0xc5, 0x7f, 0x61, 0x52, 0xed, 0x9e, 0x3d, 0x30, 0x5a, 0x04, 0x82, 0x5a, 0x5f, 0xe5, 0xa6, 0x6d, 0x36, 0xa8, 0xf7, 0xfb, 0xff, 0xe4, 0x44, 0xc0, 0x7f, 0x86, 0xba, 0xef, 0xd9, 0xc5, 0xf1, 0x73, 0x4c, 0xe9, 0xf7, 0xc3, 0xfa, 0x6e, 0x39, 0x29, 0x17, 0x72, 0xeb, 0x68, 0xef, 0xcd, 0x06, 0xea, 0xcf, 0x98, 0x46, 0x10, 0xab, 0x1b, 0x7a, 0x00, 0x26, 0x83, 0x68, 0x6f, 0x0a, 0xd8, 0x61, 0x49, 0x39, 0xe5, 0x82, 0x56, 0xaa, 0x5d, 0x30, 0xb7, 0xef, 0xf7, 0x89, 0xa2, 0x92, 0x70, 0x6b, 0x5a, 0x69, 0x40, 0xec, 0x81, 0x66, 0xc6, 0x8b, 0x2c, 0xa3, 0xfb, 0xe7, 0x11, 0x8a, 0xb5, 0x9e, 0x62, 0xd0, 0x2f, 0xc4, 0x2c, 0xcc, 0x34, 0x3f, 0xa2, 0x6a, 0x92, 0x5f, 0x7d, 0xc5, 0x3f, 0x1a, 0x5e, 0xd0, 0x8f, 0x24, 0x87, 0x46, 0xa1, 0x06, 0x88, 0x3a, 0xb5, 0xf2, 0x64, 0x10, 0x29, 0x50, 0x4e, 0x62, 0xa9, 0x79, 0x94, 0xfa, 0x6e, 0x18, 0x4d, 0x30, 0x4f, 0xbd, 0xd7, 0x1f, 0x33, 0x20, 0xf2, 0xe6, 0xd7, 0xd9, 0xe6, 0xd1, 0x40, 0x17, 0xc4, 0x99, 0x97, 0xe8, 0xf8, 0x68, 0xd3, 0x3b, 0x7d, 0x64, 0x16, 0xc6, 0x45, 0xe3, 0x68, 0xea, 0xe8, 0xbe, 0xe1, 0x38, 0xaa, 0x02, 0x77, 0x8f, 0xa4, 0xfe, 0x90, 0x73, 0xcd, 0xeb, 0x90, 0xd1, 0x50, 0x39, 0x0e, 0xf2, 0x8d, 0x68, 0xdc, 0x7b, 0xd6, 0x0a, 0x80, 0x4c, 0x66, 0x5c, 0x7e, 0x93, 0xdb, 0x76, 0x7c, 0x5b, 0xb2, 0xfa, 0x28, 0x14, 0xbe, 0x79, 0x38, 0x17, 0x27, 0x97, 0xc8, 0xd4, 0x09, 0xba, 0x75, 0x97, 0x9c, 0x7d, 0x88, 0x79, 0xa2, 0x8e, 0x65, 0x49, 0x7e, 0xdb, 0x48, 0x9c, 0x39, 0x89, 0xb9, 0xf1, 0x10, 0x1d, 0xfd, 0x8f, 0x81, 0x9b, 0x0e, 0xfb, 0xb6, 0x86, 0x5e, 0x98, 0x7d, 0x24, 0x90, 0x97, 0x9b, 0x87, 0xe3, 0xfc, 0xfb, 0x27, 0xa3, 0xfd, 0xdd, 0xe0, 0x50, 0x9b, 0xd5, 0x47, 0x43, 0x1c, 0xd5, 0xdd, 0x47, 0xca, 0x52, 0xc5, 0x99, 0x69, 0x54, 0x01, 0x3f, 0xc0, 0xd6, 0x32, 0x7a, 0xc1, 0x7a, 0x45, 0xe3, 0x80, 0xc8, 0x17, 0x25, 0x9b, 0x6c, 0xf7, 0x2d, 0x43, 0x22, 0xd4, 0x92, 0xd0, 0xe8, 0x83, 0xe8, 0xec, 0xb4, 0x7b, 0xc0, 0x3d, 0x0a, 0x26, 0x46, 0x19, 0x28, 0x1f, 0x11, 0xba, 0xb6, 0xc4, 0x64, 0x24, 0x5f, 0x56, 0xe5, 0x53, 0xbf, 0x21, 0x2a, 0x1e, 0x00, 0x3d, 0x31, 0x32, 0x28, 0xc5, 0xb2, 0xa3, 0x20, 0xc8, 0x9d, 0xff, 0xc1, 0xff, 0xeb, 0x22, 0x56, 0x9a, 0xec, 0x08, 0x11, 0x68, 0xa6, 0x49, 0x79, 0x35, 0x5e, 0xfe, 0x41, 0x88, 0x52, 0xdf, 0xf9, 0x1f, 0x50, 0xd6, 0x0f, 0xa5, 0xd9, 0xed, 0x22, 0x4f, 0x6b, 0x3b, 0x43, 0x5e, 0x02, 0xae, 0x14, 0x16, 0x2c, 0x78, 0x67, 0xf7, 0xde, 0x43, 0xce, 0x40, 0x23, 0x05, 0x64, 0xd4, 0xb3, 0x33, 0x9c, 0x38, 0xdc, 0xdd, 0x99, 0xfe, 0x0d, 0xd1, 0x35, 0x0f, 0x37, 0x7f, 0x5b, 0x81, 0xe1, 0x76, 0x24, 0x8a, 0x07, 0xed, 0x7c, 0x97, 0xb3, 0xe5, 0x40, 0x0c, 0x0a, 0x22, 0x27, 0x2c, 0xe6, 0x9e, 0x5b, 0xbb, 0xd3, 0xee, 0xaf, 0xdc, 0x73, 0xce, 0xb6, 0x08, 0x88, 0x99, 0x06, 0xfd, 0xcc, 0xab, 0x0c, 0x62, 0xad, 0x94, 0xd6, 0x93, 0x58, 0xd6, 0xa3, 0xa0, 0x02, 0x3f, 0xe1, 0xf3, 0x8f, 0xf7, 0x23, 0xf4, 0x8f, 0xf4, 0xe1, 0x8f, 0xf9, 0xca, 0xe7, 0x59, 0x27, 0xe7, 0x68, 0x3b, 0x8a, 0xda, 0x17, 0x61, 0xa8, 0x9c, 0x65, 0x4c, 0x49, 0x17, 0xf2, 0x03, 0xdc, 0xec, 0x7b, 0x37, 0x73, 0xca, 0xf0, 0x07, 0x70, 0x08, 0x78, 0x48, 0x11, 0x43, 0x55, 0xd2, 0xd4, 0x3f, 0x40, 0x5e, 0xaf, 0x47, 0x91, 0x40, 0x54, 0x12, 0x71, 0x97, 0xf9, 0x4b, 0x3a, 0x7c, 0xd6, 0xbb, 0x24, 0x18, 0x58, 0x76, 0x49, 0x3c, 0xff, 0x56, 0xa7, 0x8d, 0xf6, 0x42, 0xbc, 0x99, 0xde, 0xb3, 0x24, 0xb7, 0x8c, 0x7b, 0x67, 0x62, 0xbe, 0xf4, 0xd1, 0x61, 0xb4, 0x27, 0xef, 0xec, 0x87, 0x8d, 0x62, 0xe2, 0xc0, 0xdb, 0x09, 0xbe, 0x50, 0x69, 0x94, 0x27, 0x92, 0xc4, 0x35, 0xea, 0x24, 0xa2, 0x60, 0x77, 0xe8, 0xeb, 0x28, 0x3a, 0x07, 0xed, 0x44, 0x5b, 0xfb, 0x73, 0x70, 0x3f, 0xe4, 0xeb, 0x42, 0xa2, 0x6f, 0x5e, 0x4a, 0xd7, 0x74, 0x3b, 0x9d, 0x7b, 0xe6, 0xc0, 0x57, 0xe0, 0xfe, 0x59, 0xe0, 0x16, 0x7d, 0xac, 0xeb, 0x05, 0x91, 0x7a, 0x3e, 0xbf, 0x33, 0x53, 0xaa, 0x7b, 0xc1, 0x63, 0x7c, 0x01, 0xca, 0xcf, 0xe9, 0x61, 0x79, 0x06, 0xf3, 0x76, 0x0d, 0x9f, 0xe6, 0x2a, 0xa3, 0xe4, 0x1b, 0x06, 0x07, 0xbf, 0x8f, 0x18, 0x49, 0x0c, 0xe3, 0xf3, 0x2e, 0xce, 0x27, 0x7c, 0xc2, 0xaa, 0x0b, 0xa3, 0x64, 0x5f, 0x6c, 0xc1, 0x7b, 0x59, 0x68, 0x6b, 0x24, 0x1a, 0xc4, 0x85, 0xb6, 0xdb, 0x1b, 0x42, 0x85, 0x88, 0xc1, 0x86, 0xe8, 0xee, 0x7f, 0x84, 0x45, 0xc9, 0xf1, 0x68, 0xc9, 0x3a, 0xb7, 0x38, 0x49, 0x34, 0x28, 0x88, 0x43, 0x23, 0xca, 0xc3, 0x53, 0x92, 0x85, 0x8b, 0x08, 0xf8, 0x79, 0x12, 0x03, 0xb3, 0x40, 0xb7, 0x2b, 0x49, 0xc3, 0xd6, 0xb3, 0xde, 0x29, 0xa5, 0xa6, 0x74, 0x48, 0xa5, 0xb0, 0x43, 0xfc, 0xa2, 0xd7, 0xc5, 0xea, 0xd2, 0x3d, 0x9a, 0x5d, 0x49, 0x3e, 0x53, 0x45, 0x4d, 0x72, 0x2a, 0x08, 0xba, 0x92, 0xbb, 0xa0, 0x4f, 0xa9, 0x2b, 0x8c, 0xe4, 0x79, 0xa6, 0x9b, 0x87, 0xd3, 0xd9, 0x48, 0xbb, 0x34, 0x98, 0x5a, 0x97, 0x00, 0xf6, 0x2a, 0x3b, 0xa4, 0x64, 0x84, 0x4a, 0x64, 0xe7, 0x48, 0x98, 0x5a, 0x96, 0x75, 0xe1, 0x97, 0x5c, 0x18, 0xce, 0xd5, 0x61, 0x5c, 0xff, 0xc2, 0xf5, 0xb6, 0x5c, 0x4a, 0x98, 0x14, 0x78, 0x54, 0x59, 0x75, 0xb8, 0xd0, 0x7d, 0x82, 0x31, 0xca, 0x18, 0x64, 0x0d, 0xca, 0xa3, 0xfc, 0x35, 0xfc, 0xc6, 0x2c, 0x4a, 0xd2, 0x5f, 0xfd, 0x2b, 0x47, 0x47, 0x28, 0x3f, 0xde, 0xa9, 0x1d, 0x8e, 0x32, 0xd5, 0xca, 0xcd, 0x12, 0x1b, 0x2f, 0xd8, 0x4d, 0x62, 0x48, 0x6b, 0x5d, 0x35, 0xce, 0x50, 0xb0, 0x2f, 0xb2, 0x10, 0x8e, 0xbe, 0xf7, 0x6e, 0x10, 0x54, 0xdd, 0x47, 0xdb, 0xcd, 0x83, 0x03, 0x37, 0x65, 0x43, 0x79, 0x1e, 0x4b, 0x23, 0xcf, 0xc1, 0x0c, 0x18, 0x74, 0xd0, 0x31, 0x2e, 0x7d, 0x3a, 0xe2, 0xa3, 0xc3, 0x68, 0x1a, 0x03, 0xde, 0x34, 0x9a, 0x56, 0x09, 0xda, 0xa1, 0x10, 0x4a, 0xbd, 0xe7, 0xa6, 0x11, 0x1a, 0x50, 0xf4, 0x8b, 0x16, 0xa1, 0xf6, 0x41, 0xf3, 0x87, 0xe1, 0x0e, 0x15, 0xf9, 0x5e, 0xbe, 0xe3, 0xb3, 0x88, 0xf8, 0xa7, 0x35, 0xff, 0xff, 0x61, 0x9f, 0xd6, 0x1c, 0xf6, 0x70, 0x2c, 0x6a, 0x64, 0xe2, 0xce, 0x81, 0xc6, 0x4a, 0x29, 0x91, 0xe0, 0xd2, 0x6b, 0xb5, 0xc2, 0xed, 0x6f, 0x9c, 0x41, 0x63, 0x78, 0x67, 0xbd, 0x26, 0x8c, 0xec, 0xf9, 0x7d, 0xb2, 0x5c, 0x2a, 0x31, 0xe0, 0x41, 0xb2, 0xe3, 0x11, 0xb8, 0x64, 0xbb, 0x07, 0x4c, 0xcf, 0xac, 0xec, 0x12, 0xfd, 0x59, 0xc9, 0x0f, 0xbb, 0x73, 0x72, 0x93, 0xfa, 0x89, 0xb3, 0xe2, 0xf1, 0x1e, 0x32, 0xa7, 0x9f, 0x2e, 0xd7, 0x3a, 0x82, 0xad, 0x2b, 0xca, 0x5a, 0xb2, 0xea, 0x21, 0xcc, 0xfe, 0x1e, 0x51, 0xd6, 0x92, 0x56, 0xf7, 0xdf, 0xd9, 0x3e, 0x51, 0x76, 0x10, 0x65, 0x21, 0x0c, 0xe9, 0xad, 0xff, 0x7b, 0x83, 0x94, 0x17, 0x08, 0x0b, 0xc3, 0xcc, 0x72, 0xa2, 0x6b, 0x14, 0x56, 0x92, 0x2d, 0xd7, 0x71, 0x44, 0x46, 0xeb, 0x6e, 0x93, 0x78, 0x06, 0xba, 0x3a, 0x54, 0x38, 0x8b, 0x4c, 0xfd, 0x22, 0xec, 0x18, 0x19, 0x59, 0x45, 0xf7, 0x01, 0x0c, 0xf9, 0xc9, 0x51, 0x7c, 0x0d, 0x40, 0x85, 0xff, 0x6d, 0xd6, 0x10, 0x3a, 0x85, 0x46, 0xce, 0xbe, 0xbf, 0x9f, 0x03, 0x48, 0x9e, 0xfc, 0x80, 0xfb, 0xd6, 0x72, 0xcd, 0xcf, 0x44, 0x11, 0xa5, 0x1d, 0x76, 0x37, 0x39, 0x82, 0xd9, 0x59, 0x7b, 0x8f, 0xc5, 0x83, 0xc7, 0x35, 0xb1, 0x9a, 0x0b, 0x4c, 0xdb, 0x96, 0x43, 0x74, 0xcb, 0x48, 0x2c, 0x7c, 0x4c, 0x57, 0x2b, 0x91, 0x36, 0xf7, 0x93, 0x3c, 0xc3, 0x36, 0x72, 0x8f, 0x5e, 0xea, 0x13, 0x05, 0x84, 0xcc, 0xa6, 0x2c, 0x3f, 0xb1, 0x4b, 0x95, 0x53, 0xb0, 0xa9, 0x16, 0x32, 0x09, 0x91, 0xa2, 0x03, 0x92, 0x5f, 0x24, 0x7a, 0x6f, 0xf6, 0xc6, 0xe3, 0xaf, 0xf7, 0xb2, 0x66, 0xaa, 0x62, 0x6f, 0xcf, 0xa5, 0xff, 0x59, 0xf3, 0xfb, 0x9e, 0xe1, 0x20, 0x78, 0xd1, 0xaf, 0x8f, 0x88, 0xdf, 0xfa, 0xb5, 0x1f, 0x40, 0xfb, 0xd8, 0x84, 0xb6, 0x2d, 0xfa, 0x0b, 0x2f, 0x53, 0x60, 0xa8, 0x75, 0x75, 0x1d, 0x97, 0x02, 0x26, 0x4d, 0x3a, 0x1d, 0x9b, 0xa9, 0xf7, 0xdf, 0x6c, 0xb7, 0xb8, 0xe8, 0x52, 0xc8, 0xb3, 0x42, 0x29, 0x3f, 0xeb, 0xd5, 0x6f, 0x7e, 0x9e, 0x28, 0x7b, 0x72, 0xe1, 0x64, 0x24, 0x48, 0xdd, 0x3f, 0xe1, 0x15, 0x39, 0x31, 0xd8, 0x4f, 0xf1, 0x00, 0xa6, 0xfb, 0xe0, 0x29, 0x3f, 0x78, 0xc6, 0x5c, 0xf9, 0x2b, 0x33, 0xc0, 0x84, 0xe1, 0x9c, 0x96, 0x10, 0x10, 0x98, 0xd5, 0x24, 0xbb, 0xcc, 0x8b, 0x07, 0x39, 0xf7, 0x34, 0x4b, 0x87, 0xd3, 0x5e, 0xb2, 0xa1, 0x1d, 0x57, 0x12, 0x80, 0x6b, 0xc9, 0x15, 0xbe, 0x2c, 0xef, 0x9d, 0x5d, 0x2a, 0x40, 0xdb, 0x24, 0x16, 0x3c, 0xdf, 0xfb, 0x54, 0xe9, 0x87, 0xf2, 0x78, 0xf2, 0xe9, 0x9a, 0xf2, 0x8f, 0x23, 0x1d, 0xa7, 0x03, 0x37, 0x96, 0x51, 0xf8, 0xb8, 0xd6, 0xea, 0x9a, 0xc2, 0xf2, 0x3d, 0x67, 0x61, 0xf5, 0xfa, 0xfb, 0xc8, 0x83, 0x12, 0xaf, 0x17, 0x0b, 0x6b, 0x07, 0xdc, 0x2b, 0x92, 0x8c, 0x38, 0x5b, 0xe9, 0xf6, 0x10, 0x5d, 0x48, 0x57, 0x4d, 0x22, 0xd3, 0x81, 0x5e, 0x8c, 0x41, 0xf2, 0x60, 0x52, 0xe0, 0xb2, 0x4c, 0xdd, 0x5b, 0xc5, 0x0d, 0xd6, 0x44, 0x7e, 0x40, 0x88, 0xd3, 0x2f, 0xd3, 0xa9, 0x9a, 0x76, 0xf7, 0xcd, 0x2e, 0xe5, 0x4e, 0x73, 0xed, 0x4d, 0x70, 0x48, 0x14, 0x56, 0xa1, 0xe0, 0xec, 0xa8, 0x87, 0xd9, 0x6e, 0xb9, 0xb6, 0x8c, 0x76, 0xd1, 0x3d, 0x6f, 0xbf, 0xea, 0xd1, 0xc3, 0x2d, 0x90, 0xa8, 0x41, 0x8e, 0xb9, 0x62, 0xe6, 0x0f, 0xbf, 0x3e, 0xbf, 0x06, 0x03, 0xd7, 0xca, 0x09, 0xd2, 0x4a, 0xdd, 0xf5, 0x11, 0x8c, 0x7c, 0x54, 0xd3, 0x3c, 0xd0, 0x15, 0x82, 0x0c, 0xfd, 0xf6, 0x35, 0xea, 0x32, 0x08, 0x4d, 0xca, 0x5c, 0xd4, 0xe5, 0xfd, 0x5a, 0xa0, 0x9c, 0x80, 0xd7, 0x28, 0x8a, 0xd0, 0xf5, 0x59, 0xc0, 0x1a, 0x5b, 0x88, 0xae, 0x0e, 0x87, 0x9f, 0x1e, 0xe0, 0x52, 0x34, 0x07, 0x18, 0xbf, 0x31, 0xac, 0x9b, 0xb7, 0x35, 0xf5, 0x70, 0x97, 0x2d, 0x50, 0x2c, 0x32, 0xf7, 0x38, 0xbf, 0xf6, 0x21, 0x44, 0x44, 0x0e, 0xcf, 0xc8, 0x5d, 0x45, 0xdf, 0x02, 0x35, 0xca, 0x9c, 0xc9, 0xe7, 0x9c, 0xa6, 0x19, 0xc7, 0x9f, 0xe8, 0x75, 0x57, 0xcc, 0x01, 0x23, 0x94, 0xf4, 0xc9, 0xe1, 0x7d, 0xae, 0x76, 0x8d, 0x4a, 0x50, 0x06, 0x29, 0x60, 0x03, 0x16, 0x33, 0x05, 0x05, 0xa3, 0xfa, 0x4f, 0xf6, 0x48, 0x58, 0xa0, 0xfd, 0xe7, 0x9b, 0x87, 0xd3, 0xfe, 0x1c, 0xbf, 0x22, 0xd2, 0xe8, 0x6d, 0x6a, 0xee, 0x40, 0xb4, 0xaa, 0xa2, 0x4e, 0xaf, 0x19, 0x61, 0x4c, 0x82, 0x7b, 0x70, 0x02, 0x13, 0xc7, 0x6f, 0x37, 0xb5, 0x6d, 0x77, 0xac, 0xab, 0x9b, 0x48, 0x09, 0x89, 0xd1, 0xea, 0x29, 0xba, 0x0d, 0x69, 0x61, 0x2c, 0xea, 0x14, 0xb5, 0x23, 0xe6, 0x07, 0xd9, 0x6d, 0xc3, 0xc1, 0x05, 0x09, 0xc4, 0xd0, 0x54, 0x72, 0xa3, 0xd5, 0x21, 0xcf, 0xc2, 0x81, 0x98, 0x46, 0xaa, 0x2a, 0xa4, 0x68, 0x11, 0x5f, 0xb3, 0xfe, 0xba, 0xdb, 0xd9, 0xe5, 0xa8, 0xac, 0x72, 0x92, 0x37, 0x48, 0x1a, 0xd5, 0xd1, 0x88, 0xf0, 0x07, 0xe0, 0x26, 0x64, 0x3d, 0xc6, 0x86, 0x93, 0xc0, 0x5a, 0xa2, 0x70, 0xa4, 0xed, 0x71, 0x97, 0x20, 0x56, 0xc4, 0xdc, 0xec, 0x98, 0x82, 0x82, 0x1a, 0x6a, 0xab, 0xbc, 0x12, 0x2d, 0xc2, 0xb1, 0xed, 0x5c, 0x35, 0xe9, 0xc5, 0x2e, 0xd9, 0xad, 0x95, 0xa2, 0xb0, 0x37, 0x69, 0x85, 0x62, 0xf6, 0xc0, 0x17, 0x95, 0xd7, 0xf5, 0x1a, 0x07, 0xf6, 0xe6, 0xe4, 0xf4, 0xd8, 0x66, 0xb5, 0xfd, 0xcf, 0xbd, 0x11, 0x6d, 0x78, 0x35, 0x0d, 0x72, 0xf8, 0xb8, 0x86, 0xd4, 0x2b, 0x08, 0x96, 0x22, 0xd3, 0x6f, 0x06, 0xdc, 0xf9, 0x12, 0x3f, 0x6e, 0x55, 0x98, 0x1e, 0xbf, 0xfb, 0xf6, 0xe4, 0xfd, 0xd9, 0xbb, 0xb7, 0xc7, 0xef, 0x2e, 0x3e, 0xf3, 0xd8, 0x5d, 0xac, 0xaf, 0x43, 0x1d, 0xa6, 0x17, 0xe4, 0x14, 0x0e, 0xba, 0x41, 0x09, 0x20, 0xf7, 0x57, 0x31, 0xeb, 0x94, 0x7f, 0x8d, 0xfc, 0xe1, 0xbc, 0x87, 0xd4, 0xb3, 0x4f, 0x89, 0x24, 0x2b, 0x72, 0xec, 0xcc, 0x28, 0xaa, 0x3a, 0xe2, 0x58, 0x80, 0xed, 0x1d, 0x4c, 0xad, 0x25, 0x6e, 0x09, 0xca, 0x1b, 0xa9, 0xc0, 0xd4, 0x27, 0xf6, 0x33, 0xbb, 0x25, 0x1c, 0x05, 0x74, 0xb1, 0xd2, 0xd6, 0x24, 0x1c, 0x71, 0x7f, 0xe0, 0x12, 0xd0, 0x78, 0x8f, 0x0a, 0xc5, 0xbe, 0x73, 0x6d, 0xe5, 0xaf, 0xd2, 0xda, 0xc5, 0x5e, 0xc4, 0x71, 0xe3, 0x03, 0xd5, 0x78, 0xb8, 0xc0, 0x5e, 0x9b, 0xe3, 0x2e, 0x16, 0xb0, 0xb7, 0x8a, 0xbf, 0xaa, 0xb7, 0xe8, 0xf9, 0xde, 0xde, 0x8f, 0xe8, 0xaf, 0xfd, 0x27, 0x69, 0xb0, 0x1d, 0x42, 0xa0, 0xd6, 0xde, 0x44, 0x84, 0xe3, 0x7a, 0xd5, 0x85, 0x44, 0xb7, 0x76, 0x3b, 0xe1, 0x06, 0xfe, 0x78, 0xfe, 0xfe, 0xec, 0xfb, 0xbf, 0xfc, 0xc2, 0x9f, 0xf0, 0x92, 0xcd, 0xfe, 0x4a, 0x39, 0x98, 0x3a, 0xf8, 0x8f, 0x3f, 0xeb, 0x6b, 0x1b, 0x3f, 0xd7, 0x1e, 0x7f, 0x20, 0xa1, 0x76, 0x79, 0x23, 0x08, 0x9c, 0xa3, 0x70, 0x9b, 0xfb, 0x5e, 0x69, 0x19, 0xb7, 0xf3, 0x70, 0xd8, 0x44, 0x20, 0x96, 0x6f, 0x75, 0x07, 0xcb, 0x23, 0x74, 0xc8, 0x02, 0x9a, 0x06, 0x15, 0xc5, 0x2e, 0x83, 0x77, 0x20, 0x65, 0xe5, 0x54, 0x37, 0x3e, 0x40, 0x3d, 0x32, 0x32, 0x52, 0xed, 0x7e, 0xbc, 0x3c, 0x3d, 0xfd, 0xf9, 0x9b, 0xa0, 0x1d, 0x98, 0xda, 0xdb, 0x80, 0x36, 0xc5, 0x76, 0x41, 0x43, 0xab, 0xa3, 0xea, 0x15, 0xd8, 0x84, 0x44, 0xfb, 0xee, 0x4c, 0x66, 0xf3, 0x02, 0xca, 0xf1, 0xb0, 0xce, 0x8c, 0x4a, 0x9b, 0x52, 0xc4, 0x5f, 0x81, 0xc5, 0x69, 0x62, 0xf5, 0x1e, 0x27, 0x4e, 0x06, 0x48, 0xe7, 0xfe, 0x43, 0x9c, 0x55, 0xc9, 0xfb, 0xc9, 0x45, 0x71, 0x28, 0x5b, 0x28, 0x2d, 0x2a, 0x11, 0x77, 0x4b, 0x97, 0x86, 0xdd, 0xf3, 0x58, 0x43, 0x66, 0xc6, 0x87, 0x20, 0x79, 0x5b, 0xe5, 0xf5, 0x27, 0x14, 0x75, 0xd0, 0x0d, 0x85, 0x86, 0xa4, 0x35, 0xfc, 0xa4, 0xf2, 0x62, 0x4e, 0x02, 0x32, 0xe2, 0xea, 0xe9, 0xf2, 0x3a, 0x36, 0x3b, 0x12, 0xba, 0x29, 0x8b, 0x62, 0x72, 0xa3, 0xb2, 0x13, 0x3a, 0x6d, 0x15, 0x77, 0x09, 0x3e, 0x3b, 0x67, 0x50, 0xd5, 0x16, 0x66, 0x20, 0x56, 0x96, 0x3e, 0xd0, 0x72, 0x63, 0x7a, 0x80, 0x3f, 0xdd, 0xd4, 0xd9, 0x62, 0xde, 0x53, 0x61, 0xef, 0x33, 0x0c, 0xc7, 0x31, 0xb4, 0xc8, 0xdf, 0xf6, 0x8c, 0x77, 0x04, 0x4e, 0x60, 0x1c, 0x88, 0x2c, 0x84, 0xfe, 0x3a, 0xa1, 0x44, 0x57, 0x12, 0x7d, 0x8b, 0x14, 0x03, 0x21, 0x09, 0x8d, 0xe3, 0x0b, 0x36, 0x22, 0x7d, 0x5c, 0xcf, 0xf6, 0x8b, 0x59, 0x58, 0x30, 0x65, 0x58, 0x92, 0x8f, 0xdf, 0xa1, 0x39, 0x79, 0xc3, 0xdb, 0x44, 0x81, 0x43, 0xf8, 0xa4, 0x5a, 0xcf, 0xc8, 0x6f, 0x1e, 0x32, 0x5c, 0x0a, 0xcf, 0x57, 0xa6, 0x74, 0x9b, 0x34, 0x94, 0xdb, 0xdb, 0x24, 0x12, 0xd9, 0x10, 0xc4, 0x22, 0x3a, 0xd9, 0x58, 0x9d, 0x84, 0x37, 0xf1, 0x70, 0xe4, 0x07, 0xcc, 0x34, 0x12, 0x1b, 0x36, 0x8f, 0x91, 0x13, 0x9e, 0x11, 0x64, 0xfc, 0xf1, 0xec, 0x44, 0x01, 0xc4, 0xc9, 0xb3, 0x64, 0x3d, 0x4e, 0xa1, 0xb4, 0xb2, 0x58, 0x10, 0x2e, 0x9e, 0xbe, 0x04, 0x82, 0x43, 0x31, 0x08, 0x2e, 0x84, 0xdc, 0x88, 0x56, 0x55, 0xbb, 0x96, 0x0e, 0xb9, 0x58, 0x3b, 0xa2, 0x2d, 0x41, 0x2d, 0x2f, 0xf2, 0xf8, 0x05, 0x44, 0x11, 0xa1, 0x12, 0x5b, 0x75, 0x20, 0xb5, 0xb2, 0xa8, 0xae, 0x9b, 0x68, 0x95, 0xb1, 0x6d, 0xc8, 0x68, 0x44, 0xe0, 0xa2, 0xac, 0x63, 0x70, 0x9a, 0x13, 0x4a, 0x9b, 0xcf, 0xd0, 0x8a, 0x87, 0xaf, 0xbc, 0xf9, 0xef, 0xc5, 0xd9, 0xab, 0xb3, 0x53, 0xf3, 0x97, 0xe3, 0x37, 0x27, 0xdf, 0x3b, 0xad, 0x40, 0x3a, 0x67, 0xd9, 0xda, 0x34, 0x8e, 0x9f, 0x03, 0x7a, 0xf1, 0xe9, 0xa0, 0xc5, 0x8e, 0x39, 0x09, 0x91, 0xf2, 0x0f, 0x5b, 0xc2, 0xbc, 0xdd, 0x5f, 0xd2, 0xe3, 0x73, 0x24, 0xa7, 0x29, 0x63, 0xd4, 0xc3, 0x1f, 0x49, 0x05, 0x7a, 0x89, 0xb4, 0x68, 0x1e, 0xd5, 0xd6, 0x52, 0xb8, 0x4d, 0x3e, 0x69, 0xb1, 0x38, 0x68, 0x56, 0xbe, 0xe6, 0xd0, 0x66, 0x8e, 0x3c, 0x29, 0x24, 0x61, 0xe4, 0x73, 0x2d, 0x9e, 0x6d, 0xfc, 0x1e, 0xe8, 0x5a, 0x53, 0x25, 0x5d, 0x67, 0x28, 0x83, 0xc7, 0x47, 0xb5, 0x2f, 0xb2, 0x81, 0xb7, 0x48, 0x55, 0x78, 0x9b, 0x2a, 0x03, 0x63, 0x44, 0x5e, 0x53, 0x0b, 0xe5, 0xa3, 0x43, 0x11, 0x44, 0x0a, 0x6e, 0xb8, 0xf6, 0x9a, 0x64, 0x03, 0x24, 0x95, 0x0f, 0xb9, 0x15, 0xa4, 0xc8, 0x7b, 0x10, 0x3f, 0x42, 0xad, 0xd1, 0x72, 0x41, 0x2e, 0x53, 0xa2, 0x3f, 0xdc, 0x24, 0x94, 0xa5, 0xd2, 0x57, 0x6d, 0x33, 0x17, 0x6c, 0x97, 0x06, 0xa5, 0x56, 0xa1, 0x69, 0x45, 0x67, 0x20, 0xca, 0x7e, 0x5b, 0xe3, 0xa8, 0x37, 0x7c, 0x3a, 0xdc, 0x80, 0x20, 0xeb, 0x9a, 0xb2, 0xbe, 0xeb, 0x47, 0x9b, 0xc6, 0x20, 0x8d, 0xf0, 0xef, 0xeb, 0xfc, 0x3a, 0x45, 0x6d, 0x99, 0xb9, 0x2a, 0xc3, 0x21, 0xbf, 0xd4, 0x19, 0x23, 0xfd, 0x59, 0x83, 0xa4, 0xed, 0x51, 0x1e, 0xff, 0x9c, 0x41, 0x1e, 0x77, 0xc6, 0xb8, 0xfa, 0x59, 0x83, 0x0c, 0x55, 0x40, 0x18, 0xc5, 0xf8, 0xfb, 0x93, 0x8b, 0xe4, 0xd5, 0xd9, 0x6b, 0x77, 0xc1, 0x2e, 0x24, 0x1f, 0x90, 0x48, 0x20, 0x99, 0xac, 0x0b, 0x43, 0x83, 0xd4, 0x2f, 0xc9, 0x36, 0xa0, 0xe0, 0x3c, 0x45, 0x4a, 0xc2, 0xd1, 0x6e, 0xf6, 0x59, 0x5e, 0x31, 0x1c, 0x11, 0x25, 0xd6, 0xc0, 0x7b, 0xe3, 0xd5, 0xe8, 0xd2, 0xc3, 0x4b, 0x02, 0x3a, 0xba, 0x54, 0xf9, 0x4b, 0x37, 0x92, 0xb0, 0xee, 0xd2, 0x4a, 0x4b, 0x4a, 0x27, 0x29, 0xe1, 0x19, 0x15, 0x5c, 0x1b, 0x49, 0x45, 0x29, 0x21, 0xf4, 0xb0, 0x0e, 0xe7, 0x23, 0x10, 0x1b, 0xdd, 0x39, 0x6f, 0x74, 0x26, 0x7e, 0x26, 0xe1, 0x81, 0xe6, 0xfa, 0xb7, 0x28, 0x5d, 0x1a, 0xd0, 0x41, 0xf8, 0x51, 0x52, 0x37, 0x12, 0x5d, 0xc0, 0x47, 0xa4, 0xed, 0xa2, 0x9a, 0x2f, 0xdc, 0x86, 0x3a, 0x90, 0xd8, 0x76, 0x08, 0xfb, 0x9d, 0x43, 0x09, 0x25, 0x18, 0x15, 0x9d, 0xbd, 0x06, 0x92, 0x57, 0x96, 0xff, 0xc3, 0x53, 0xd0, 0x8f, 0xac, 0x3e, 0x66, 0x56, 0xbe, 0x40, 0x67, 0xe7, 0x19, 0xdf, 0x88, 0xfa, 0xce, 0x08, 0xf5, 0x5b, 0x18, 0xe4, 0x64, 0x3d, 0x09, 0xa2, 0x93, 0x7b, 0xf3, 0x91, 0x68, 0x65, 0x16, 0x36, 0xaa, 0xac, 0xac, 0x3d, 0xaa, 0x96, 0xbc, 0xf3, 0x58, 0x68, 0x85, 0x34, 0x43, 0xd9, 0x66, 0x75, 0x8e, 0x70, 0x58, 0x78, 0xbd, 0x24, 0x66, 0xa9, 0x5f, 0xd5, 0x8a, 0x6b, 0x41, 0xe0, 0xf6, 0x3a, 0x09, 0x5a, 0xb4, 0x1f, 0xf3, 0x29, 0xec, 0xd7, 0x90, 0xbb, 0x28, 0x05, 0x75, 0xe9, 0xae, 0x02, 0x53, 0x6d, 0x8e, 0x59, 0x89, 0x0d, 0x1c, 0x20, 0x95, 0x97, 0x9a, 0xde, 0xa7, 0x04, 0xf6, 0x80, 0xde, 0x85, 0x69, 0xc1, 0x95, 0x86, 0x7a, 0x02, 0xf1, 0x9a, 0x3b, 0x57, 0xf3, 0xf4, 0x98, 0xff, 0x78, 0xa5, 0x3a, 0x9b, 0xd6, 0x0d, 0x25, 0x56, 0x5d, 0xbb, 0xb0, 0x70, 0x16, 0x62, 0xe2, 0x90, 0x78, 0x9b, 0x42, 0x0e, 0x71, 0x1d, 0x41, 0x64, 0x13, 0xea, 0x8e, 0x8f, 0xf3, 0x49, 0xe7, 0x2b, 0xfa, 0x11, 0x46, 0x74, 0x72, 0x5f, 0xf0, 0x7d, 0xf2, 0xba, 0x83, 0xf2, 0xac, 0x37, 0xda, 0xd3, 0x2e, 0x5d, 0x78, 0x9e, 0x7d, 0x8c, 0x68, 0x9f, 0xfc, 0x5c, 0x7c, 0x11, 0x19, 0x15, 0x2d, 0x8a, 0xe6, 0x5c, 0x65, 0xab, 0x85, 0xf0, 0x4c, 0xf9, 0x09, 0x42, 0xc7, 0xf0, 0x27, 0x60, 0x97, 0xa7, 0x3a, 0x4b, 0xa3, 0x0e, 0xfb, 0xa6, 0xe0, 0x33, 0xf9, 0xac, 0xe1, 0xbb, 0xac, 0x39, 0x10, 0xea, 0x46, 0x6e, 0xa9, 0x4d, 0x7a, 0xa1, 0xe3, 0x47, 0x94, 0xde, 0x68, 0x64, 0x53, 0x69, 0xff, 0xad, 0x6f, 0x84, 0x48, 0x77, 0x2c, 0xbe, 0x9c, 0x2f, 0x19, 0xeb, 0x5d, 0x57, 0x5c, 0xb6, 0xeb, 0xd0, 0x1d, 0x15, 0x6e, 0x9d, 0x17, 0x5c, 0x11, 0x22, 0xdf, 0x28, 0x79, 0x5b, 0x06, 0xe8, 0x93, 0xe5, 0xbc, 0x91, 0xca, 0x7b, 0xca, 0x4c, 0xe4, 0xdd, 0xb9, 0x4a, 0x8b, 0x4b, 0x46, 0x14, 0xf4, 0x06, 0x04, 0x89, 0x5b, 0x61, 0x68, 0xae, 0x3a, 0xd4, 0x97, 0x22, 0x32, 0xbb, 0x2e, 0x1e, 0xfa, 0xc1, 0xbe, 0xdd, 0x07, 0xe9, 0x94, 0x85, 0xf2, 0x14, 0xda, 0x88, 0xef, 0x00, 0x4b, 0x78, 0x93, 0x72, 0x2b, 0x5d, 0xed, 0x37, 0xef, 0x4c, 0x16, 0x3d, 0x28, 0x0a, 0xac, 0x85, 0x79, 0xd2, 0xc8, 0xdf, 0x49, 0xd9, 0xa9, 0xc6, 0x99, 0x9e, 0x5c, 0xde, 0x28, 0xd2, 0x6a, 0x00, 0x33, 0xdc, 0xb2, 0x47, 0x0e, 0xb3, 0x42, 0xbb, 0xa6, 0xca, 0x98, 0x1e, 0x8f, 0x0c, 0xc1, 0x56, 0x79, 0xd9, 0x1c, 0x0e, 0x34, 0xc4, 0x5b, 0xcf, 0x81, 0x5b, 0xcf, 0x0d, 0x28, 0xe5, 0xfc, 0xe5, 0x78, 0xac, 0x74, 0xf2, 0x2a, 0x24, 0x09, 0xf1, 0x59, 0x12, 0x9a, 0x85, 0x02, 0x3a, 0x85, 0xaa, 0xa2, 0x8c, 0xd1, 0x49, 0x32, 0x38, 0x60, 0x9e, 0xf6, 0x9a, 0x19, 0x73, 0x7c, 0xb9, 0x37, 0xad, 0x4d, 0x64, 0x0f, 0x76, 0x07, 0x05, 0xe4, 0xb3, 0x68, 0xba, 0x0a, 0xc7, 0x2b, 0x69, 0x9b, 0x51, 0x8e, 0xac, 0x3c, 0x9e, 0x74, 0x43, 0xc3, 0x77, 0xf2, 0x56, 0xcf, 0xc2, 0x83, 0xa3, 0xc8, 0xa2, 0xbf, 0xe5, 0x55, 0x0d, 0xfe, 0x95, 0x45, 0x7f, 0x1b, 0x59, 0xf4, 0x23, 0xfb, 0x2d, 0xfe, 0xd4, 0xe1, 0xe1, 0x53, 0xa9, 0xaa, 0x60, 0x1f, 0x1d, 0x15, 0xfd, 0x5b, 0x06, 0xc4, 0x5f, 0xe3, 0x15, 0x9b, 0x07, 0x87, 0x5c, 0x7f, 0x10, 0x7e, 0xcb, 0xbb, 0xbc, 0xde, 0xa7, 0x1e, 0xbb, 0x65, 0x19, 0xd5, 0x9b, 0xc6, 0x23, 0xad, 0x9e, 0xf9, 0x4c, 0xc0, 0x7e, 0xd4, 0x98, 0x23, 0x3d, 0xfc, 0x86, 0x32, 0xa8, 0x9a, 0x78, 0xea, 0xaf, 0x4e, 0xc3, 0xfb, 0xce, 0x13, 0xeb, 0x46, 0xd9, 0x3b, 0xd4, 0x10, 0xfa, 0x4b, 0xf0, 0xe2, 0x45, 0xb6, 0xe4, 0x7e, 0x0d, 0x19, 0x81, 0xf5, 0x38, 0x0f, 0x20, 0xd7, 0xdc, 0xcd, 0xab, 0x14, 0x68, 0xcb, 0x8b, 0xf4, 0x2e, 0x02, 0xb6, 0x25, 0x9e, 0x62, 0x36, 0x57, 0xcc, 0xfd, 0xbc, 0xcc, 0x0a, 0xb2, 0x14, 0xa0, 0x08, 0x88, 0xdb, 0x8c, 0xfc, 0xb0, 0x88, 0x9a, 0xcf, 0xad, 0xab, 0x56, 0xbe, 0x1a, 0xc0, 0x01, 0xd4, 0xd2, 0xc0, 0x90, 0xef, 0x8c, 0x68, 0x09, 0x71, 0x6c, 0xb8, 0x83, 0xa7, 0x76, 0xdf, 0xec, 0x49, 0x90, 0x67, 0x8b, 0x31, 0x42, 0xbc, 0xad, 0x53, 0x66, 0xa2, 0x01, 0x01, 0xe9, 0xa3, 0x83, 0x28, 0x5d, 0x1e, 0x5a, 0xcd, 0x95, 0xa7, 0x20, 0x1e, 0x30, 0x37, 0x3e, 0x27, 0x5e, 0x27, 0x80, 0xbb, 0xa3, 0xe4, 0x0c, 0x5e, 0xb8, 0x16, 0xc8, 0x38, 0x57, 0x02, 0xa5, 0xae, 0x68, 0xb4, 0x4d, 0xb8, 0xcf, 0xbc, 0x13, 0xd6, 0x59, 0x69, 0xf6, 0xcb, 0x9e, 0xb0, 0x59, 0x07, 0xc1, 0xa4, 0xbe, 0xe6, 0x2c, 0x79, 0x7f, 0x7c, 0xf1, 0x1e, 0x81, 0x5e, 0x62, 0x00, 0x01, 0x48, 0x6a, 0x5a, 0xed, 0x5a, 0x90, 0x20, 0xe1, 0x66, 0x4e, 0x0f, 0x71, 0x0c, 0x82, 0xf1, 0xcb, 0xec, 0x79, 0xf3, 0x3f, 0xf5, 0x3d, 0xae, 0x7e, 0xc9, 0xb4, 0xd6, 0xc4, 0x85, 0x74, 0xda, 0xc8, 0x6a, 0x87, 0x87, 0x2e, 0x0b, 0x09, 0xbd, 0x8d, 0x59, 0xca, 0x49, 0x26, 0xf9, 0x48, 0x92, 0x36, 0xb5, 0xfa, 0x42, 0x5b, 0x09, 0xd0, 0x43, 0x9c, 0x8c, 0x5d, 0x56, 0x31, 0xbd, 0x43, 0x3e, 0x6d, 0x15, 0x00, 0x99, 0x84, 0x5f, 0x98, 0xc0, 0xd5, 0xe0, 0x1e, 0x07, 0xe5, 0x1a, 0xc0, 0x47, 0xfb, 0xfb, 0x61, 0xde, 0x70, 0x3a, 0x31, 0x4c, 0x55, 0xb4, 0x39, 0xa9, 0xea, 0xc1, 0x2b, 0xec, 0x35, 0x85, 0x7a, 0x59, 0x93, 0xad, 0x31, 0x9c, 0x93, 0x1b, 0x93, 0x76, 0x2c, 0x34, 0x2a, 0x0e, 0x99, 0xc7, 0x7c, 0x87, 0x32, 0x23, 0xd9, 0xb3, 0x36, 0x67, 0xe1, 0x0a, 0x24, 0xed, 0x9d, 0x9b, 0x6a, 0x92, 0x31, 0x6a, 0x82, 0xc5, 0xfb, 0x1d, 0xcc, 0x2c, 0xe0, 0xdf, 0x87, 0x8f, 0x23, 0x14, 0x91, 0x8c, 0x2f, 0xce, 0xde, 0x2b, 0xf6, 0x7e, 0x28, 0x9f, 0x91, 0xf9, 0x40, 0x4f, 0x58, 0xa8, 0x95, 0x41, 0x08, 0xb9, 0x33, 0xb3, 0xf8, 0x00, 0x16, 0xc6, 0xd4, 0xfb, 0x2a, 0x73, 0x00, 0xb4, 0xd0, 0x93, 0xb5, 0x7d, 0x2b, 0x80, 0x00, 0x0a, 0xd9, 0xab, 0xf7, 0xd2, 0x7b, 0x89, 0xaf, 0xd9, 0x19, 0xdf, 0x5f, 0xae, 0x5f, 0x27, 0x3a, 0x92, 0x4a, 0x76, 0x42, 0xfc, 0x95, 0x74, 0x58, 0xdb, 0xe9, 0xb3, 0x4b, 0x8b, 0x7c, 0x89, 0xce, 0x1c, 0x24, 0x33, 0x73, 0x78, 0x59, 0xa4, 0xb5, 0x8c, 0xd1, 0x6d, 0x96, 0xf8, 0x04, 0x43, 0x16, 0x4b, 0x62, 0x53, 0xca, 0xbe, 0xb0, 0x69, 0x00, 0xeb, 0x5e, 0x56, 0x0a, 0xd2, 0x2a, 0x82, 0x53, 0x8d, 0x05, 0xa7, 0x67, 0x7b, 0x52, 0xff, 0xfc, 0xec, 0xfd, 0x45, 0x62, 0x85, 0x3e, 0xbe, 0x8c, 0x1f, 0x75, 0x2e, 0x10, 0xb5, 0x4c, 0x81, 0xcf, 0xce, 0x95, 0x6d, 0x04, 0x0e, 0x49, 0xb1, 0x09, 0x9a, 0xce, 0x10, 0x03, 0xb4, 0xd9, 0x9b, 0x95, 0x8c, 0xe5, 0xe3, 0xc2, 0x8f, 0x82, 0xd2, 0x05, 0x39, 0xd3, 0x87, 0x0c, 0xe6, 0x94, 0xdb, 0xa3, 0x83, 0x08, 0x65, 0x90, 0x15, 0xfd, 0xfe, 0x78, 0x7c, 0xc1, 0x3b, 0x46, 0x7f, 0x0b, 0xe6, 0xcd, 0x05, 0xa2, 0xf2, 0xc3, 0xc0, 0x50, 0xb1, 0x94, 0x41, 0x09, 0x68, 0xc6, 0xda, 0xc0, 0xf8, 0xb6, 0xc0, 0xdd, 0xdb, 0xb1, 0x23, 0x2f, 0xdb, 0x10, 0x5c, 0x53, 0xe8, 0x04, 0x17, 0x1c, 0x3f, 0xd8, 0x92, 0x8f, 0x6c, 0x19, 0xc5, 0x8c, 0x2f, 0x44, 0x0b, 0x7e, 0xfd, 0xe8, 0x91, 0xc7, 0x29, 0x48, 0x4e, 0xc9, 0x00, 0x27, 0xda, 0x26, 0x97, 0x7e, 0x38, 0x54, 0x52, 0x81, 0xb0, 0x60, 0xa2, 0xe0, 0xe7, 0xdc, 0x38, 0x8f, 0xa5, 0x44, 0xfd, 0xd4, 0xaa, 0x0a, 0xde, 0x54, 0xe8, 0xc7, 0x9a, 0xf1, 0x03, 0xb5, 0xad, 0x43, 0x72, 0x47, 0x4c, 0xe9, 0x7f, 0x36, 0x84, 0x6e, 0xb3, 0x16, 0x79, 0xe9, 0xbe, 0x5c, 0x30, 0xba, 0x56, 0x5e, 0xac, 0x33, 0xe8, 0x68, 0x69, 0xb5, 0xa0, 0x56, 0x0f, 0x86, 0x87, 0x54, 0x52, 0x40, 0x76, 0x53, 0xc4, 0x60, 0xa9, 0xbd, 0x6f, 0x88, 0xfc, 0x39, 0x39, 0x3d, 0x76, 0x27, 0xc5, 0x7d, 0x22, 0x70, 0x83, 0x9d, 0xae, 0x4f, 0xad, 0xed, 0xad, 0x98, 0x18, 0x25, 0xe7, 0xd4, 0xb3, 0x1c, 0x7a, 0x53, 0xfd, 0xef, 0x6e, 0x34, 0xbe, 0x24, 0xf0, 0xc0, 0x1b, 0xb1, 0x09, 0x33, 0x25, 0x2f, 0xcc, 0xc1, 0xe2, 0x27, 0xf4, 0x57, 0x0f, 0xd3, 0x3c, 0x58, 0xee, 0x33, 0xf7, 0x72, 0x6d, 0x96, 0x62, 0x0c, 0xf4, 0xee, 0x23, 0x8f, 0x84, 0xae, 0x8c, 0xf5, 0x8e, 0x21, 0x2c, 0x6f, 0xa6, 0xbb, 0x2c, 0xad, 0x62, 0x66, 0x3c, 0xc2, 0x5c, 0x9f, 0x69, 0xf1, 0x70, 0x6f, 0x28, 0x16, 0x06, 0x2f, 0x27, 0xb6, 0x81, 0x10, 0xa5, 0x09, 0x93, 0x22, 0x67, 0xc6, 0x2a, 0x88, 0xd3, 0x2e, 0x6c, 0xae, 0xbd, 0x0d, 0x03, 0x13, 0xaf, 0x9c, 0xe8, 0xb5, 0xa1, 0x95, 0x74, 0x37, 0xb7, 0xd3, 0x80, 0xfd, 0x11, 0x53, 0xa2, 0x25, 0x1b, 0x2b, 0xbf, 0x5a, 0xb3, 0x93, 0xfc, 0x64, 0x01, 0xbd, 0x23, 0xa7, 0x01, 0xc5, 0x03, 0x8c, 0x80, 0xf7, 0x95, 0xff, 0x47, 0x8f, 0xdd, 0x50, 0x73, 0xaa, 0xe9, 0xb4, 0x63, 0x39, 0xde, 0x63, 0xbb, 0x48, 0x30, 0x02, 0x03, 0x1e, 0x13, 0x8b, 0x91, 0x9b, 0x75, 0x4f, 0x22, 0xe8, 0x6f, 0xfe, 0x9e, 0x3c, 0x15, 0xd3, 0x97, 0x6c, 0xdf, 0xe2, 0xce, 0xe5, 0xde, 0x4b, 0xd3, 0x6e, 0xf6, 0x9b, 0x71, 0xa3, 0x1a, 0xf9, 0x8d, 0x80, 0x30, 0x5e, 0x89, 0x5f, 0x86, 0x5a, 0x51, 0x05, 0x88, 0x8b, 0xeb, 0xa5, 0xe4, 0xf0, 0x7a, 0x5f, 0xfa, 0x5c, 0x3c, 0x19, 0x54, 0x79, 0x6e, 0xf1, 0x1a, 0x3d, 0x2e, 0x5a, 0xaa, 0xc5, 0x6c, 0x61, 0x8c, 0x0c, 0xf1, 0x20, 0xb7, 0xd4, 0xd6, 0xba, 0x87, 0x18, 0x7b, 0x84, 0x5d, 0x06, 0x51, 0x2c, 0xea, 0xae, 0x3a, 0x15, 0x4a, 0x0f, 0xfa, 0x8a, 0x36, 0x5c, 0x9e, 0xe3, 0x5f, 0x29, 0x40, 0x4a, 0xe8, 0x12, 0xaf, 0xb2, 0xbf, 0x41, 0x91, 0x74, 0xfd, 0x5a, 0x35, 0xa6, 0x9c, 0x16, 0xeb, 0xd4, 0xb3, 0xe5, 0x1f, 0x3d, 0x13, 0x0f, 0x95, 0xb8, 0x41, 0x28, 0xac, 0x5e, 0x64, 0x4d, 0x10, 0x5e, 0x7c, 0x7c, 0x60, 0x7d, 0x95, 0x94, 0x31, 0x2b, 0x75, 0x20, 0x7e, 0xde, 0xac, 0x61, 0x6e, 0xe3, 0xf1, 0xd7, 0xc9, 0xdb, 0xd7, 0x8f, 0x29, 0x9d, 0xe7, 0x32, 0xab, 0x56, 0x15, 0xa5, 0x70, 0x2a, 0x0d, 0x9f, 0x7d, 0xe3, 0x0d, 0x76, 0xe8, 0x1c, 0x9f, 0x22, 0x62, 0x73, 0xb9, 0xbd, 0x64, 0x2b, 0x98, 0xf3, 0xa3, 0xba, 0xe7, 0x4b, 0x45, 0x46, 0x60, 0xef, 0x17, 0xa0, 0x17, 0x04, 0xac, 0x8a, 0x95, 0x96, 0xcf, 0xba, 0x49, 0xe1, 0x2d, 0x06, 0xf6, 0xf8, 0xc8, 0x31, 0xb0, 0xea, 0x6e, 0x45, 0x9d, 0x55, 0x8a, 0x4b, 0xb2, 0x0b, 0x22, 0x37, 0xea, 0x31, 0x33, 0xcd, 0x57, 0x7c, 0xef, 0x49, 0x89, 0x0d, 0x5f, 0x83, 0x7a, 0x0e, 0x7f, 0xa9, 0xf7, 0xde, 0x63, 0xdf, 0xab, 0x50, 0x4b, 0x6f, 0x34, 0x69, 0x89, 0x01, 0x1d, 0xc5, 0x7b, 0xf6, 0x89, 0x7d, 0x96, 0x1c, 0x47, 0x79, 0xe1, 0xb5, 0x30, 0xea, 0x79, 0x43, 0x94, 0x5f, 0x35, 0x10, 0x34, 0x92, 0xc3, 0x1a, 0x8f, 0xb7, 0xf7, 0xde, 0x2b, 0xcf, 0xda, 0x4e, 0x13, 0xf4, 0x0f, 0xb0, 0xa4, 0x89, 0x45, 0xa1, 0xb3, 0xac, 0xe7, 0x66, 0x61, 0x19, 0x7d, 0x4e, 0x69, 0xd0, 0xad, 0xf3, 0x54, 0x26, 0x98, 0xf9, 0x18, 0x22, 0x7a, 0xd7, 0x99, 0xf6, 0x5f, 0xbd, 0xec, 0x2b, 0x02, 0x02, 0xb5, 0x7b, 0x1f, 0x39, 0x90, 0x3b, 0x43, 0x7d, 0xa9, 0x2f, 0x8b, 0xfc, 0x1f, 0x0a, 0x5f, 0x40, 0x02, 0x5a, 0xdb, 0x4f, 0x79, 0x8f, 0x1f, 0x0a, 0xc3, 0xe0, 0xde, 0xc3, 0x60, 0x8a, 0x14, 0x3c, 0x75, 0x0f, 0x1c, 0x09, 0xd5, 0x72, 0xf7, 0x38, 0x68, 0xff, 0x94, 0x84, 0x8f, 0xd0, 0x7d, 0xd6, 0x4a, 0xab, 0x7f, 0xf2, 0x48, 0x74, 0x2e, 0x55, 0x8e, 0x49, 0xf2, 0xd2, 0x46, 0x2c, 0x00, 0xc9, 0xd8, 0x65, 0xd3, 0x4f, 0x44, 0xec, 0xc9, 0x51, 0x4a, 0xaf, 0xf5, 0xd4, 0x35, 0xf3, 0xa2, 0xbf, 0xde, 0xe4, 0x85, 0xa4, 0xba, 0x07, 0xaf, 0x3f, 0xe9, 0x71, 0x3f, 0xd6, 0x2c, 0x33, 0x8f, 0x41, 0x4b, 0xde, 0xf3, 0x4f, 0xed, 0x4d, 0xf0, 0xc0, 0x3d, 0x15, 0xc8, 0x70, 0xe0, 0x03, 0x96, 0xea, 0x45, 0x12, 0xff, 0x49, 0xa6, 0x9d, 0x0e, 0x22, 0xc8, 0xf2, 0x73, 0xfb, 0xf9, 0x45, 0x79, 0x99, 0xf8, 0x98, 0x2c, 0x4f, 0x98, 0xa4, 0xde, 0xa0, 0x5d, 0x85, 0xb3, 0x0e, 0x8a, 0xe4, 0xc2, 0x2b, 0x93, 0x75, 0x4f, 0x3f, 0x13, 0xda, 0x50, 0x79, 0x69, 0x8d, 0xd5, 0xbe, 0x37, 0x9e, 0xee, 0xfb, 0xca, 0xea, 0x8c, 0xa2, 0xb2, 0x5c, 0xc6, 0xdf, 0xfb, 0x02, 0x53, 0xc6, 0x89, 0x11, 0x23, 0x97, 0x86, 0xa8, 0xf1, 0x8c, 0x83, 0x32, 0x74, 0x8f, 0x1d, 0xb6, 0x98, 0xee, 0x85, 0xaf, 0x3e, 0x25, 0x27, 0xaf, 0xbd, 0x07, 0x8f, 0xdc, 0x02, 0xd3, 0x05, 0x69, 0x03, 0x77, 0xec, 0xa8, 0xaa, 0x93, 0x1d, 0x7a, 0xcb, 0xc3, 0x2c, 0x79, 0xca, 0x94, 0xf1, 0xae, 0x64, 0xd0, 0x2d, 0xec, 0x7f, 0xf0, 0x0c, 0x93, 0xc3, 0xab, 0x2b, 0x23, 0xd5, 0xa6, 0x0d, 0x72, 0x42, 0x0b, 0x8d, 0x70, 0x75, 0xcf, 0xfe, 0xe9, 0x93, 0x0d, 0xcf, 0x8a, 0xd0, 0xac, 0xad, 0xa8, 0xf7, 0xde, 0x7b, 0x1a, 0x5e, 0x73, 0x35, 0x07, 0xb4, 0x4a, 0x41, 0x6e, 0x5a, 0xb2, 0x43, 0xe5, 0xd1, 0xff, 0xae, 0x9e, 0xc1, 0x8a, 0xf0, 0x04, 0xeb, 0x7f, 0xf7, 0xe7, 0xfb, 0xb9, 0x5f, 0xc3, 0xc7, 0x3e, 0xc1, 0x2a, 0x43, 0x98, 0x60, 0xda, 0x6a, 0x17, 0xe1, 0x32, 0x84, 0xb0, 0x3b, 0xde, 0x08, 0x7c, 0xe6, 0x46, 0x8f, 0x58, 0x17, 0x8e, 0x73, 0xb0, 0x01, 0x28, 0x58, 0x04, 0x33, 0x1f, 0x77, 0x92, 0x78, 0xbe, 0x78, 0xa1, 0x3c, 0x1f, 0xea, 0x7e, 0xe7, 0x1a, 0xd4, 0x57, 0x6b, 0xb6, 0xb8, 0xed, 0x8a, 0x9c, 0x83, 0xcd, 0x7b, 0xed, 0xd0, 0x71, 0x2f, 0x11, 0xfb, 0x5c, 0x70, 0xf2, 0x8a, 0xa2, 0xc0, 0x6c, 0x96, 0xdb, 0x26, 0x02, 0x70, 0x8f, 0x57, 0x25, 0xfb, 0x0c, 0x09, 0x6c, 0x63, 0x27, 0x8d, 0xa7, 0x66, 0x4a, 0x12, 0xb9, 0xf7, 0x19, 0x51, 0x6d, 0x28, 0xc5, 0xc9, 0x9c, 0xd2, 0x55, 0x36, 0xfd, 0xa4, 0x57, 0xc6, 0x8e, 0x11, 0x79, 0xeb, 0x91, 0xdd, 0x5a, 0xa2, 0xbe, 0xf3, 0xf7, 0xc7, 0x5d, 0x23, 0xc0, 0x3d, 0xca, 0x54, 0xf3, 0xfe, 0x62, 0x7c, 0xfe, 0x9c, 0xe6, 0xcb, 0x61, 0x43, 0x73, 0x21, 0x5e, 0x8d, 0xb3, 0xbf, 0x4b, 0x99, 0x59, 0xed, 0x9e, 0x7e, 0xd2, 0xf3, 0xf4, 0x58, 0x9c, 0x7b, 0x27, 0x40, 0x6a, 0x36, 0xe7, 0xe0, 0xbf, 0xc4, 0x44, 0xb3, 0x2e, 0xd4, 0xbf, 0xcf, 0x2e, 0x30, 0x9a, 0x19, 0xb8, 0x21, 0x85, 0x96, 0xdd, 0xc3, 0x9f, 0x3b, 0x4f, 0xcd, 0xd5, 0xba, 0xf8, 0x64, 0xf5, 0x45, 0xc1, 0xd1, 0xd3, 0x03, 0x76, 0x2f, 0x3c, 0xd3, 0xab, 0xe1, 0xf9, 0x41, 0x6d, 0xde, 0xd3, 0x40, 0x3c, 0x14, 0xe2, 0x7a, 0x94, 0x78, 0xa7, 0xe1, 0xaf, 0x6b, 0x6f, 0x0f, 0x9e, 0xed, 0x5b, 0xf1, 0x2b, 0x88, 0x3c, 0x9f, 0xb2, 0x3b, 0x47, 0x75, 0x9a, 0x63, 0xb1, 0xca, 0x0b, 0x72, 0x41, 0xb8, 0x47, 0xdc, 0x00, 0x07, 0x2d, 0x21, 0xd0, 0x55, 0x37, 0xea, 0x26, 0x6d, 0xd6, 0x9e, 0x88, 0x79, 0xc6, 0xb4, 0x33, 0xa6, 0xa8, 0xe3, 0x52, 0xe8, 0x35, 0x2f, 0xd4, 0xdb, 0xd6, 0x71, 0xa1, 0xe9, 0x4b, 0xdf, 0x7f, 0xcf, 0x72, 0xc4, 0x82, 0xc5, 0x49, 0xe8, 0xca, 0x36, 0x7f, 0x32, 0x7c, 0x97, 0x01, 0x84, 0xe9, 0x0a, 0x23, 0xe0, 0x53, 0x65, 0xd4, 0x9e, 0x52, 0xd1, 0x6f, 0x70, 0x79, 0x62, 0xd1, 0xf3, 0xb2, 0x90, 0x98, 0x2d, 0x25, 0x6f, 0xc2, 0xf3, 0xc9, 0x60, 0xd3, 0xec, 0x0b, 0x33, 0x33, 0x78, 0xf9, 0xe1, 0xe2, 0xeb, 0xb3, 0xf7, 0xe3, 0x64, 0x8f, 0x4a, 0xdb, 0x2f, 0xde, 0x9f, 0xfc, 0xf9, 0xc3, 0x85, 0xf9, 0xa7, 0x8e, 0xf4, 0x3a, 0x2d, 0x72, 0x23, 0x9d, 0xcc, 0x72, 0xb2, 0xc2, 0x10, 0xcb, 0xa5, 0x36, 0x69, 0x62, 0xe8, 0x62, 0x23, 0x8f, 0xcb, 0x4a, 0x11, 0x4d, 0x28, 0x1f, 0xa5, 0x94, 0x13, 0x67, 0x54, 0xbf, 0x82, 0x33, 0xfc, 0x4a, 0x67, 0x39, 0xe7, 0x9d, 0xa2, 0x7c, 0x4d, 0xdb, 0x49, 0x2e, 0xbe, 0x7e, 0xf9, 0xee, 0x9b, 0xb1, 0x76, 0xf0, 0xf8, 0xee, 0xbb, 0xef, 0xba, 0xc1, 0x5d, 0xe8, 0xb1, 0x57, 0xe9, 0xed, 0xed, 0xa8, 0xce, 0x3e, 0xfb, 0x6c, 0x7c, 0x7c, 0x9c, 0xbc, 0x3c, 0x1d, 0x9f, 0x7d, 0xe6, 0x70, 0x1c, 0x76, 0x0e, 0x08, 0xc1, 0xea, 0x32, 0x6b, 0xcc, 0x5f, 0x3e, 0xfb, 0xec, 0xff, 0x03, 0x4d, 0xda, 0xc1, 0xce, 0xef, 0x98, 0x02, 0x00, }; #define BUF_SIZE 0x10000 static voidpf zalloc_func(voidpf opaque, unsigned int items, unsigned int size) { (void) opaque; /* not a typo, keep it calloc() */ return (voidpf) calloc(items, size); |
︙ | ︙ |
Changes to jni/curl/src/tool_metalink.c.
︙ | ︙ | |||
961 962 963 964 965 966 967 | if(res == NULL) { return; } Curl_safefree(res->url); Curl_safefree(res); } | | > | | | | | | > | 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 | if(res == NULL) { return; } Curl_safefree(res->url); Curl_safefree(res); } void delete_metalinkfile(metalinkfile *mlfile) { metalink_resource *res; if(mlfile == NULL) { return; } Curl_safefree(mlfile->filename); delete_metalink_checksum(mlfile->checksum); for(res = mlfile->resource; res;) { metalink_resource *next; next = res->next; delete_metalink_resource(res); res = next; } Curl_safefree(mlfile); } void clean_metalink(struct OperationConfig *config) { if(config) { while(config->metalinkfile_list) { metalinkfile *mlfile = config->metalinkfile_list; config->metalinkfile_list = config->metalinkfile_list->next; delete_metalinkfile(mlfile); } config->metalinkfile_last = 0; } } void metalink_cleanup(void) { #ifdef HAVE_NSS_CONTEXT if(nss_context) { NSS_ShutdownContext(nss_context); nss_context = NULL; } #endif } #endif /* USE_METALINK */ |
Changes to jni/curl/src/tool_metalink.h.
︙ | ︙ | |||
101 102 103 104 105 106 107 108 109 110 111 112 113 114 | #include <metalink/metalink.h> /* * Counts the resource in the metalinkfile. */ int count_next_metalink_resource(metalinkfile *mlfile); void clean_metalink(struct OperationConfig *config); /* * Performs final parse operation and extracts information from * Metalink and creates metalinkfile structs. * * This function returns 0 if it succeeds without warnings, or one of | > > | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | #include <metalink/metalink.h> /* * Counts the resource in the metalinkfile. */ int count_next_metalink_resource(metalinkfile *mlfile); void delete_metalinkfile(metalinkfile *mlfile); void clean_metalink(struct OperationConfig *config); /* * Performs final parse operation and extracts information from * Metalink and creates metalinkfile structs. * * This function returns 0 if it succeeds without warnings, or one of |
︙ | ︙ | |||
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | * Release resources allocated at global scope. */ void metalink_cleanup(void); #else /* USE_METALINK */ #define count_next_metalink_resource(x) 0 #define clean_metalink(x) (void)x /* metalink_cleanup() takes no arguments */ #define metalink_cleanup() Curl_nop_stmt #endif /* USE_METALINK */ #endif /* HEADER_CURL_TOOL_METALINK_H */ | > | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | * Release resources allocated at global scope. */ void metalink_cleanup(void); #else /* USE_METALINK */ #define count_next_metalink_resource(x) 0 #define delete_metalinkfile(x) (void)x #define clean_metalink(x) (void)x /* metalink_cleanup() takes no arguments */ #define metalink_cleanup() Curl_nop_stmt #endif /* USE_METALINK */ #endif /* HEADER_CURL_TOOL_METALINK_H */ |
Changes to jni/curl/src/tool_operate.c.
︙ | ︙ | |||
99 100 101 102 103 104 105 | #define CURL_CA_CERT_ERRORMSG \ "More details here: https://curl.haxx.se/docs/sslcerts.html\n\n" \ "curl failed to verify the legitimacy of the server and therefore " \ "could not\nestablish a secure connection to it. To learn more about " \ "this situation and\nhow to fix it, please visit the web page mentioned " \ "above.\n" | | | | | > > > > | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | #define CURL_CA_CERT_ERRORMSG \ "More details here: https://curl.haxx.se/docs/sslcerts.html\n\n" \ "curl failed to verify the legitimacy of the server and therefore " \ "could not\nestablish a secure connection to it. To learn more about " \ "this situation and\nhow to fix it, please visit the web page mentioned " \ "above.\n" static CURLcode single_transfer(struct GlobalConfig *global, struct OperationConfig *config, CURLSH *share, bool capath_from_env, bool *added); static CURLcode create_transfer(struct GlobalConfig *global, CURLSH *share, bool *added); static bool is_fatal_error(CURLcode code) { switch(code) { case CURLE_FAILED_INIT: case CURLE_OUT_OF_MEMORY: case CURLE_UNKNOWN_OPTION: |
︙ | ︙ | |||
196 197 198 199 200 201 202 | #endif /* __VMS */ #define BUFFER_SIZE (100*1024) struct per_transfer *transfers; /* first node */ static struct per_transfer *transfersl; /* last node */ | > > | | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | #endif /* __VMS */ #define BUFFER_SIZE (100*1024) struct per_transfer *transfers; /* first node */ static struct per_transfer *transfersl; /* last node */ /* add_per_transfer creates a new 'per_transfer' node in the linked list of transfers */ static CURLcode add_per_transfer(struct per_transfer **per) { struct per_transfer *p; p = calloc(sizeof(struct per_transfer), 1); if(!p) return CURLE_OUT_OF_MEMORY; if(!transfers) /* first entry */ |
︙ | ︙ | |||
220 221 222 223 224 225 226 | *per = p; all_xfers++; /* count total number of transfers added */ return CURLE_OK; } /* Remove the specified transfer from the list (and free it), return the next in line */ | | | 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 | *per = p; all_xfers++; /* count total number of transfers added */ return CURLE_OK; } /* Remove the specified transfer from the list (and free it), return the next in line */ static struct per_transfer *del_per_transfer(struct per_transfer *per) { struct per_transfer *n; struct per_transfer *p; DEBUGASSERT(transfers); DEBUGASSERT(transfersl); DEBUGASSERT(per); |
︙ | ︙ | |||
312 313 314 315 316 317 318 | if(S_ISREG(fileinfo.st_mode)) uploadfilesize = fileinfo.st_size; if(uploadfilesize != -1) my_setopt(per->curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize); per->input.fd = per->infd; } | < | < | | | > > > | 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 | if(S_ISREG(fileinfo.st_mode)) uploadfilesize = fileinfo.st_size; if(uploadfilesize != -1) my_setopt(per->curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize); per->input.fd = per->infd; } return result; } /* * Call this after a transfer has completed. */ static CURLcode post_per_transfer(struct GlobalConfig *global, struct per_transfer *per, CURLcode result, bool *retryp) { struct OutStruct *outs = &per->outs; CURL *curl = per->curl; struct OperationConfig *config = per->config; if(!curl || !config) return result; *retryp = FALSE; if(per->infdopen) close(per->infd); #ifdef __VMS |
︙ | ︙ | |||
397 398 399 400 401 402 403 | if(!rv) { fprintf(config->global->errors, "Metalink: parsing (%s) OK\n", per->this_url); } else if(rv == -1) fprintf(config->global->errors, "Metalink: parsing (%s) FAILED\n", per->this_url); | < < < | 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 | if(!rv) { fprintf(config->global->errors, "Metalink: parsing (%s) OK\n", per->this_url); } else if(rv == -1) fprintf(config->global->errors, "Metalink: parsing (%s) FAILED\n", per->this_url); } else if(per->metalink && result == CURLE_OK && !per->metalink_next_res) { int rv; (void)fflush(outs->stream); rv = metalink_check_hash(global, per->mlfile, outs->filename); if(!rv) per->metalink_next_res = 1; } #endif /* USE_METALINK */ #ifdef USE_METALINK if(outs->metalink_parser) metalink_parser_context_delete(outs->metalink_parser); #endif /* USE_METALINK */ |
︙ | ︙ | |||
460 461 462 463 464 465 466 467 468 469 470 471 472 473 | long protocol; curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &protocol); if((protocol == CURLPROTO_HTTP) || (protocol == CURLPROTO_HTTPS)) { /* This was HTTP(S) */ curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response); switch(response) { case 500: /* Internal Server Error */ case 502: /* Bad Gateway */ case 503: /* Service Unavailable */ case 504: /* Gateway Timeout */ retry = RETRY_HTTP; /* * At this point, we have already written data to the output | > | 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 | long protocol; curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &protocol); if((protocol == CURLPROTO_HTTP) || (protocol == CURLPROTO_HTTPS)) { /* This was HTTP(S) */ curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response); switch(response) { case 429: /* Too Many Requests (RFC6585) */ case 500: /* Internal Server Error */ case 502: /* Bad Gateway */ case 503: /* Service Unavailable */ case 504: /* Gateway Timeout */ retry = RETRY_HTTP; /* * At this point, we have already written data to the output |
︙ | ︙ | |||
520 521 522 523 524 525 526 | else sleeptime = (long)retry_after * 1000; /* milliseconds */ } } warnf(config->global, "Transient problem: %s " "Will retry in %ld seconds. " "%ld retries left.\n", | | | 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 | else sleeptime = (long)retry_after * 1000; /* milliseconds */ } } warnf(config->global, "Transient problem: %s " "Will retry in %ld seconds. " "%ld retries left.\n", m[retry], sleeptime/1000L, per->retry_numretries); per->retry_numretries--; tool_go_sleep(sleeptime); if(!config->retry_delay) { per->retry_sleep *= 2; if(per->retry_sleep > RETRY_SLEEP_MAX) per->retry_sleep = RETRY_SLEEP_MAX; |
︙ | ︙ | |||
647 648 649 650 651 652 653 | free(per->separator); free(per->outfile); free(per->uploadfile); return CURLE_OK; } | > > > > > > > > > > > > > > > > > > > | > | | | | > > | > > | | | | | | < | | | | | < > | < | > > | > > > > | < < < < | < < < | | 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 | free(per->separator); free(per->outfile); free(per->uploadfile); return CURLE_OK; } static void single_transfer_cleanup(struct OperationConfig *config) { if(config) { struct State *state = &config->state; if(state->urls) { /* Free list of remaining URLs */ glob_cleanup(state->urls); state->urls = NULL; } Curl_safefree(state->outfiles); Curl_safefree(state->httpgetfields); Curl_safefree(state->uploadfile); if(state->inglob) { /* Free list of globbed upload files */ glob_cleanup(state->inglob); state->inglob = NULL; } } } /* create the next (singular) transfer */ static CURLcode single_transfer(struct GlobalConfig *global, struct OperationConfig *config, CURLSH *share, bool capath_from_env, bool *added) { CURLcode result = CURLE_OK; struct getout *urlnode; metalinkfile *mlfile_last = NULL; bool orig_noprogress = global->noprogress; bool orig_isatty = global->isatty; struct State *state = &config->state; char *httpgetfields = state->httpgetfields; *added = FALSE; /* not yet */ if(config->postfields) { if(config->use_httpget) { if(!httpgetfields) { /* Use the postfields data for a http get */ httpgetfields = state->httpgetfields = strdup(config->postfields); Curl_safefree(config->postfields); if(!httpgetfields) { helpf(global->errors, "out of memory\n"); result = CURLE_OUT_OF_MEMORY; } else if(SetHTTPrequest(config, (config->no_body?HTTPREQ_HEAD:HTTPREQ_GET), &config->httpreq)) { result = CURLE_FAILED_INIT; } } } else { if(SetHTTPrequest(config, HTTPREQ_SIMPLEPOST, &config->httpreq)) result = CURLE_FAILED_INIT; } if(result) return result; } if(!state->urlnode) { /* first time caller, setup things */ state->urlnode = config->url_list; state->infilenum = 1; } while(config->state.urlnode) { char *infiles; /* might be a glob pattern */ URLGlob *inglob = state->inglob; bool metalink = FALSE; /* metalink download? */ metalinkfile *mlfile; metalink_resource *mlres; urlnode = config->state.urlnode; if(urlnode->flags & GETOUT_METALINK) { metalink = 1; if(mlfile_last == NULL) { mlfile_last = config->metalinkfile_list; } mlfile = mlfile_last; mlfile_last = mlfile_last->next; |
︙ | ︙ | |||
723 724 725 726 727 728 729 730 731 732 733 | if(!urlnode->url) { /* This node has no URL. Free node data without destroying the node itself nor modifying next pointer and continue to next */ Curl_safefree(urlnode->outfile); Curl_safefree(urlnode->infile); urlnode->flags = 0; continue; /* next URL please */ } /* save outfile pattern before expansion */ | > > | | | | | | < > | | | < < < < < < < < < < | > | | | | | | | | | | | | > | > | | | | | | | | | | | < | > > > | > | | > > > > > < | > > > > > > | | | < > | > > < | | 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 | if(!urlnode->url) { /* This node has no URL. Free node data without destroying the node itself nor modifying next pointer and continue to next */ Curl_safefree(urlnode->outfile); Curl_safefree(urlnode->infile); urlnode->flags = 0; config->state.urlnode = urlnode->next; state->up = 0; continue; /* next URL please */ } /* save outfile pattern before expansion */ if(urlnode->outfile && !state->outfiles) { state->outfiles = strdup(urlnode->outfile); if(!state->outfiles) { helpf(global->errors, "out of memory\n"); result = CURLE_OUT_OF_MEMORY; break; } } infiles = urlnode->infile; if(!config->globoff && infiles && !inglob) { /* Unless explicitly shut off */ result = glob_url(&inglob, infiles, &state->infilenum, global->showerror?global->errors:NULL); if(result) break; config->state.inglob = inglob; } { int separator; unsigned long urlnum; if(!state->up && !infiles) Curl_nop_stmt; else { if(!state->uploadfile) { if(inglob) { result = glob_next_url(&state->uploadfile, inglob); if(result == CURLE_OUT_OF_MEMORY) helpf(global->errors, "out of memory\n"); } else if(!state->up) { state->uploadfile = strdup(infiles); if(!state->uploadfile) { helpf(global->errors, "out of memory\n"); result = CURLE_OUT_OF_MEMORY; } } } if(result) break; } if(!state->urlnum) { if(metalink) { /* For Metalink download, we don't use glob. Instead we use the number of resources as urlnum. */ urlnum = count_next_metalink_resource(mlfile); } else if(!config->globoff) { /* Unless explicitly shut off, we expand '{...}' and '[...]' expressions and return total number of URLs in pattern set */ result = glob_url(&state->urls, urlnode->url, &state->urlnum, global->showerror?global->errors:NULL); if(result) break; urlnum = state->urlnum; } else urlnum = 1; /* without globbing, this is a single URL */ } else urlnum = state->urlnum; /* if multiple files extracted to stdout, insert separators! */ separator = ((!state->outfiles || !strcmp(state->outfiles, "-")) && urlnum > 1); /* Here's looping around each globbed URL */ if(state->li >= urlnum) { state->li = 0; state->up++; } if(state->up < state->infilenum) { struct per_transfer *per; struct OutStruct *outs; struct InStruct *input; struct OutStruct *heads; struct HdrCbData *hdrcbdata = NULL; CURL *curl = curl_easy_init(); result = add_per_transfer(&per); if(result || !curl) { curl_easy_cleanup(curl); result = CURLE_OUT_OF_MEMORY; break; } if(state->uploadfile) { per->uploadfile = strdup(state->uploadfile); if(!per->uploadfile) { curl_easy_cleanup(curl); result = CURLE_OUT_OF_MEMORY; break; } } *added = TRUE; per->config = config; per->curl = curl; /* default headers output stream is stdout */ heads = &per->heads; heads->stream = stdout; heads->config = config; /* Single header file for all URLs */ if(config->headerfile) { /* open file for output: */ if(strcmp(config->headerfile, "-")) { FILE *newfile = fopen(config->headerfile, "wb"); if(!newfile) { warnf(config->global, "Failed to open %s\n", config->headerfile); result = CURLE_WRITE_ERROR; break; } else { heads->filename = config->headerfile; heads->s_isreg = TRUE; heads->fopened = TRUE; heads->stream = newfile; } |
︙ | ︙ | |||
869 870 871 872 873 874 875 | if(metalink) { /* For Metalink download, use name in Metalink file as filename. */ per->outfile = strdup(mlfile->filename); if(!per->outfile) { result = CURLE_OUT_OF_MEMORY; | | | | | | | | | | | | | | | | | < | < < | 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 | if(metalink) { /* For Metalink download, use name in Metalink file as filename. */ per->outfile = strdup(mlfile->filename); if(!per->outfile) { result = CURLE_OUT_OF_MEMORY; break; } per->this_url = strdup(mlres->url); if(!per->this_url) { result = CURLE_OUT_OF_MEMORY; break; } per->mlfile = mlfile; } else { if(state->urls) { result = glob_next_url(&per->this_url, state->urls); if(result) break; } else if(!state->li) { per->this_url = strdup(urlnode->url); if(!per->this_url) { result = CURLE_OUT_OF_MEMORY; break; } } else per->this_url = NULL; if(!per->this_url) break; if(state->outfiles) { per->outfile = strdup(state->outfiles); if(!per->outfile) { result = CURLE_OUT_OF_MEMORY; break; } } } if(((urlnode->flags&GETOUT_USEREMOTE) || (per->outfile && strcmp("-", per->outfile))) && (metalink || !config->use_metalink)) { /* * We have specified a file name to store the result in, or we have * decided we want to use the remote file name. */ if(!per->outfile) { /* extract the file name from the URL */ result = get_url_file_name(&per->outfile, per->this_url); if(result) break; if(!*per->outfile && !config->content_disposition) { helpf(global->errors, "Remote file name has no length!\n"); result = CURLE_WRITE_ERROR; break; } } else if(state->urls) { /* fill '#1' ... '#9' terms from URL pattern */ char *storefile = per->outfile; result = glob_match_url(&per->outfile, storefile, state->urls); Curl_safefree(storefile); if(result) { /* bad globbing */ warnf(config->global, "bad output glob!\n"); break; } } /* Create the directory hierarchy, if not pre-existent to a multiple file output call */ if(config->create_dirs || metalink) { result = create_dir_hierarchy(per->outfile, global->errors); /* create_dir_hierarchy shows error upon CURLE_WRITE_ERROR */ if(result) break; } if((urlnode->flags & GETOUT_USEREMOTE) && config->content_disposition) { /* Our header callback MIGHT set the filename */ DEBUGASSERT(!outs->filename); } |
︙ | ︙ | |||
973 974 975 976 977 978 979 | config->resume_from = 0; } if(config->resume_from) { #ifdef __VMS /* open file for output, forcing VMS output format into stream mode which is needed for stat() call above to always work. */ | | | | | | 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 | config->resume_from = 0; } if(config->resume_from) { #ifdef __VMS /* open file for output, forcing VMS output format into stream mode which is needed for stat() call above to always work. */ FILE *file = fopen(outfile, "ab", "ctx=stm", "rfm=stmlf", "rat=cr", "mrs=0"); #else /* open file for output: */ FILE *file = fopen(per->outfile, "ab"); #endif if(!file) { helpf(global->errors, "Can't open '%s'!\n", per->outfile); result = CURLE_WRITE_ERROR; break; } outs->fopened = TRUE; outs->stream = file; outs->init = config->resume_from; } else { outs->stream = NULL; /* open when needed */ } outs->filename = per->outfile; outs->s_isreg = TRUE; } if(per->uploadfile && !stdin_upload(per->uploadfile)) { /* * We have specified a file to upload and it isn't "-". */ char *nurl = add_file_name_to_url(per->this_url, per->uploadfile); if(!nurl) { result = CURLE_OUT_OF_MEMORY; break; } per->this_url = nurl; } else if(per->uploadfile && stdin_upload(per->uploadfile)) { /* count to see if there are more than one auth bit set in the authtype field */ int authbits = 0; |
︙ | ︙ | |||
1061 1062 1063 1064 1065 1066 1067 | global->noprogress = orig_noprogress; global->isatty = orig_isatty; } if(urlnum > 1 && !global->mute) { per->separator_err = aprintf("\n[%lu/%lu]: %s --> %s", | | | 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 | global->noprogress = orig_noprogress; global->isatty = orig_isatty; } if(urlnum > 1 && !global->mute) { per->separator_err = aprintf("\n[%lu/%lu]: %s --> %s", state->li + 1, urlnum, per->this_url, per->outfile ? per->outfile : "<stdout>"); if(separator) per->separator = aprintf("%s%s", CURLseparator, per->this_url); } if(httpgetfields) { char *urlbuffer; /* Find out whether the url contains a file name */ |
︙ | ︙ | |||
1099 1100 1101 1102 1103 1104 1105 | /* Append / before the ? to create a well-formed url if the url contains a hostname only */ urlbuffer = aprintf("%s/?%s", per->this_url, httpgetfields); if(!urlbuffer) { result = CURLE_OUT_OF_MEMORY; | | | < < > | 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 | /* Append / before the ? to create a well-formed url if the url contains a hostname only */ urlbuffer = aprintf("%s/?%s", per->this_url, httpgetfields); if(!urlbuffer) { result = CURLE_OUT_OF_MEMORY; break; } Curl_safefree(per->this_url); /* free previous URL */ per->this_url = urlbuffer; /* use our new URL instead! */ } if(!global->errors) global->errors = stderr; if((!per->outfile || !strcmp(per->outfile, "-")) && !config->use_ascii) { /* We get the output to stdout and we have not got the ASCII/text flag, then set stdout to be binary */ set_binmode(stdout); } /* explicitly passed to stdout means okaying binary gunk */ config->terminal_binary_ok = (per->outfile && !strcmp(per->outfile, "-")); /* Avoid having this setopt added to the --libcurl source output. */ result = curl_easy_setopt(curl, CURLOPT_SHARE, share); if(result) break; if(!config->tcp_nodelay) my_setopt(curl, CURLOPT_TCP_NODELAY, 0L); if(config->tcp_fastopen) my_setopt(curl, CURLOPT_TCP_FASTOPEN, 1L); |
︙ | ︙ | |||
1252 1253 1254 1255 1256 1257 1258 | config->postfields); my_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, config->postfieldsize); break; case HTTPREQ_MIMEPOST: result = tool2curlmime(curl, config->mimeroot, &config->mimepost); if(result) | | > > | 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 | config->postfields); my_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, config->postfieldsize); break; case HTTPREQ_MIMEPOST: result = tool2curlmime(curl, config->mimeroot, &config->mimepost); if(result) break; my_setopt_mimepost(curl, CURLOPT_MIMEPOST, config->mimepost); break; default: break; } if(result) break; /* new in libcurl 7.10.6 (default is Basic) */ if(config->authtype) my_setopt_bitmask(curl, CURLOPT_HTTPAUTH, (long)config->authtype); my_setopt_slist(curl, CURLOPT_HTTPHEADER, config->headers); |
︙ | ︙ | |||
1367 1368 1369 1370 1371 1372 1373 | result = res_setopt_str(curl, CURLOPT_CAPATH, config->capath); if(result == CURLE_NOT_BUILT_IN) { warnf(config->global, "ignoring %s, not supported by libcurl\n", capath_from_env? "SSL_CERT_DIR environment variable":"--capath"); } else if(result) | | | | 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 | result = res_setopt_str(curl, CURLOPT_CAPATH, config->capath); if(result == CURLE_NOT_BUILT_IN) { warnf(config->global, "ignoring %s, not supported by libcurl\n", capath_from_env? "SSL_CERT_DIR environment variable":"--capath"); } else if(result) break; } /* For the time being if --proxy-capath is not set then we use the --capath value for it, if any. See #1257 */ if((config->proxy_capath || config->capath) && !tool_setopt_skip(CURLOPT_PROXY_CAPATH)) { result = res_setopt_str(curl, CURLOPT_PROXY_CAPATH, (config->proxy_capath ? config->proxy_capath : config->capath)); if(result == CURLE_NOT_BUILT_IN) { if(config->proxy_capath) { warnf(config->global, "ignoring --proxy-capath, not supported by libcurl\n"); } } else if(result) break; } if(config->crlfile) my_setopt_str(curl, CURLOPT_CRLFILE, config->crlfile); if(config->proxy_crlfile) my_setopt_str(curl, CURLOPT_PROXY_CRLFILE, config->proxy_crlfile); else if(config->crlfile) /* CURLOPT_PROXY_CRLFILE default is crlfile */ |
︙ | ︙ | |||
1499 1500 1501 1502 1503 1504 1505 | if(result == CURLE_UNKNOWN_OPTION) /* libssh2 version older than 1.1.1 */ result = CURLE_OK; } Curl_safefree(home); } if(result) | | | 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 | if(result == CURLE_UNKNOWN_OPTION) /* libssh2 version older than 1.1.1 */ result = CURLE_OK; } Curl_safefree(home); } if(result) break; } } if(config->no_body || config->remote_time) { /* no body or use remote time */ my_setopt(curl, CURLOPT_FILETIME, 1L); } |
︙ | ︙ | |||
1603 1604 1605 1606 1607 1608 1609 | my_setopt(curl, CURLOPT_VERBOSE, 1L); } /* new in curl 7.9.3 */ if(config->engine) { result = res_setopt_str(curl, CURLOPT_SSLENGINE, config->engine); if(result) | | | 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 | my_setopt(curl, CURLOPT_VERBOSE, 1L); } /* new in curl 7.9.3 */ if(config->engine) { result = res_setopt_str(curl, CURLOPT_SSLENGINE, config->engine); if(result) break; } /* new in curl 7.10.7, extended in 7.19.4. Modified to use CREATE_DIR_RETRY in 7.49.0 */ my_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, (long)(config->ftp_create_dirs? CURLFTP_CREATE_DIR_RETRY: |
︙ | ︙ | |||
1851 1852 1853 1854 1855 1856 1857 | #endif #ifdef USE_METALINK if(!metalink && config->use_metalink) { outs->metalink_parser = metalink_parser_context_new(); if(outs->metalink_parser == NULL) { result = CURLE_OUT_OF_MEMORY; | | | | < | | > | | > | | < | < < < < < < < < < < < < | | | | | | | > > > | < < < < < < | < | | | < > > > | | | > | | | > > > > > > > > < | | | | | > | 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 | #endif #ifdef USE_METALINK if(!metalink && config->use_metalink) { outs->metalink_parser = metalink_parser_context_new(); if(outs->metalink_parser == NULL) { result = CURLE_OUT_OF_MEMORY; break; } fprintf(config->global->errors, "Metalink: parsing (%s) metalink/XML...\n", per->this_url); } else if(metalink) fprintf(config->global->errors, "Metalink: fetching (%s) from (%s)...\n", mlfile->filename, per->this_url); #endif /* USE_METALINK */ per->metalink = metalink; /* initialize retry vars for loop below */ per->retry_sleep_default = (config->retry_delay) ? config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */ per->retry_numretries = config->req_retry; per->retry_sleep = per->retry_sleep_default; /* ms */ per->retrystart = tvnow(); state->li++; } else { /* Free this URL node data without destroying the the node itself nor modifying next pointer. */ Curl_safefree(urlnode->outfile); Curl_safefree(urlnode->infile); urlnode->flags = 0; glob_cleanup(state->urls); state->urls = NULL; state->urlnum = 0; Curl_safefree(state->outfiles); Curl_safefree(state->uploadfile); if(state->inglob) { /* Free list of globbed upload files */ glob_cleanup(state->inglob); state->inglob = NULL; } config->state.urlnode = urlnode->next; state->up = 0; continue; } } break; } if(!*added || result) { *added = FALSE; single_transfer_cleanup(config); } return result; } static long all_added; /* number of easy handles currently added */ /* * add_parallel_transfers() sets 'morep' to TRUE if there are more transfers * to add even after this call returns. sets 'addedp' to TRUE if one or more * transfers were added. */ static CURLcode add_parallel_transfers(struct GlobalConfig *global, CURLM *multi, CURLSH *share, bool *morep, bool *addedp) { struct per_transfer *per; CURLcode result = CURLE_OK; CURLMcode mcode; *addedp = FALSE; *morep = FALSE; result = create_transfer(global, share, addedp); if(result || !*addedp) return result; for(per = transfers; per && (all_added < global->parallel_max); per = per->next) { bool getadded = FALSE; if(per->added) /* already added */ continue; result = pre_transfer(global, per); if(result) break; (void)curl_easy_setopt(per->curl, CURLOPT_PRIVATE, per); (void)curl_easy_setopt(per->curl, CURLOPT_XFERINFOFUNCTION, xferinfo_cb); (void)curl_easy_setopt(per->curl, CURLOPT_XFERINFODATA, per); mcode = curl_multi_add_handle(multi, per->curl); if(mcode) return CURLE_OUT_OF_MEMORY; result = create_transfer(global, share, &getadded); if(result) return result; per->added = TRUE; all_added++; *addedp = TRUE; } *morep = per ? TRUE : FALSE; return CURLE_OK; } static CURLcode parallel_transfers(struct GlobalConfig *global, CURLSH *share) { CURLM *multi; CURLMcode mcode = CURLM_OK; CURLcode result = CURLE_OK; int still_running = 1; struct timeval start = tvnow(); bool more_transfers; bool added_transfers; multi = curl_multi_init(); if(!multi) return CURLE_OUT_OF_MEMORY; result = add_parallel_transfers(global, multi, share, &more_transfers, &added_transfers); if(result) return result; while(!mcode && (still_running || more_transfers)) { mcode = curl_multi_poll(multi, NULL, 0, 1000, NULL); if(!mcode) mcode = curl_multi_perform(multi, &still_running); progress_meter(global, &start, FALSE); if(!mcode) { int rc; CURLMsg *msg; bool removed = FALSE; do { msg = curl_multi_info_read(multi, &rc); if(msg) { bool retry; struct per_transfer *ended; CURL *easy = msg->easy_handle; result = msg->data.result; curl_easy_getinfo(easy, CURLINFO_PRIVATE, (void *)&ended); curl_multi_remove_handle(multi, easy); result = post_per_transfer(global, ended, result, &retry); if(retry) continue; progress_finalize(ended); /* before it goes away */ all_added--; /* one fewer added */ removed = TRUE; (void)del_per_transfer(ended); } } while(msg); if(removed) { /* one or more transfers completed, add more! */ (void)add_parallel_transfers(global, multi, share, &more_transfers, &added_transfers); if(added_transfers) /* we added new ones, make sure the loop doesn't exit yet */ still_running = 1; } } } |
︙ | ︙ | |||
2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 | static CURLcode serial_transfers(struct GlobalConfig *global, CURLSH *share) { CURLcode returncode = CURLE_OK; CURLcode result = CURLE_OK; struct per_transfer *per; for(per = transfers; per;) { bool retry; result = pre_transfer(global, per); if(result) break; #ifndef CURL_DISABLE_LIBCURL_OPTION if(global->libcurl) { result = easysrc_perform(); | > > > > > > | 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 | static CURLcode serial_transfers(struct GlobalConfig *global, CURLSH *share) { CURLcode returncode = CURLE_OK; CURLcode result = CURLE_OK; struct per_transfer *per; bool added = FALSE; result = create_transfer(global, share, &added); if(result || !added) return result; for(per = transfers; per;) { bool retry; bool bailout = FALSE; result = pre_transfer(global, per); if(result) break; #ifndef CURL_DISABLE_LIBCURL_OPTION if(global->libcurl) { result = easysrc_perform(); |
︙ | ︙ | |||
2066 2067 2068 2069 2070 2071 2072 | else #endif result = curl_easy_perform(per->curl); /* store the result of the actual transfer */ returncode = result; | | < > > > > > > > > > > > > > > > > > > > | | | > > | 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 | else #endif result = curl_easy_perform(per->curl); /* store the result of the actual transfer */ returncode = result; result = post_per_transfer(global, per, result, &retry); if(retry) continue; /* Bail out upon critical errors or --fail-early */ if(result || is_fatal_error(returncode) || (returncode && global->fail_early)) bailout = TRUE; else { /* setup the next one just before we delete this */ result = create_transfer(global, share, &added); if(result) bailout = TRUE; } /* Release metalink related resources here */ delete_metalinkfile(per->mlfile); per = del_per_transfer(per); if(bailout) break; } if(returncode) /* returncode errors have priority */ result = returncode; if(result) single_transfer_cleanup(global->current); return result; } /* setup a transfer for the given config */ static CURLcode transfer_per_config(struct GlobalConfig *global, struct OperationConfig *config, CURLSH *share, bool *added) { CURLcode result = CURLE_OK; bool capath_from_env; *added = FALSE; /* Check we have a url */ if(!config->url_list || !config->url_list->url) { helpf(global->errors, "no URL specified!\n"); return CURLE_FAILED_INIT; } |
︙ | ︙ | |||
2176 2177 2178 2179 2180 2181 2182 | } #endif } curl_easy_cleanup(curltls); } if(!result) | > | > > | > > > > > > > | > > > > > > > > > > > | | > > > > | | | | | | | 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 | } #endif } curl_easy_cleanup(curltls); } if(!result) result = single_transfer(global, config, share, capath_from_env, added); return result; } /* * 'create_transfer' gets the details and sets up a new transfer if 'added' * returns TRUE. */ static CURLcode create_transfer(struct GlobalConfig *global, CURLSH *share, bool *added) { CURLcode result = CURLE_OK; *added = FALSE; while(global->current) { result = transfer_per_config(global, global->current, share, added); if(!result && !*added) { /* when one set is drained, continue to next */ global->current = global->current->next; continue; } break; } return result; } static CURLcode run_all_transfers(struct GlobalConfig *global, CURLSH *share, CURLcode result) { /* Save the values of noprogress and isatty to restore them later on */ bool orig_noprogress = global->noprogress; bool orig_isatty = global->isatty; struct per_transfer *per; /* Time to actually do the transfers */ if(!result) { if(global->parallel) result = parallel_transfers(global, share); else result = serial_transfers(global, share); } /* cleanup if there are any left */ for(per = transfers; per;) { bool retry; CURLcode result2 = post_per_transfer(global, per, result, &retry); if(!result) /* don't overwrite the original error */ result = result2; /* Free list of given URLs */ clean_getout(per->config); /* Release metalink related resources here */ clean_metalink(per->config); per = del_per_transfer(per); } /* Reset the global config variables */ global->noprogress = orig_noprogress; global->isatty = orig_isatty; return result; } CURLcode operate(struct GlobalConfig *global, int argc, argv_item_t argv[]) { CURLcode result = CURLE_OK; /* Setup proper locale from environment */ #ifdef HAVE_SETLOCALE setlocale(LC_ALL, ""); #endif /* Parse .curlrc if necessary */ if((argc == 1) || (!curl_strequal(argv[1], "-q") && !curl_strequal(argv[1], "--disable"))) { parseconfig(NULL, global); /* ignore possible failure */ /* If we had no arguments then make sure a url was specified in .curlrc */ if((argc < 2) && (!global->first->url_list)) { helpf(global->errors, NULL); result = CURLE_FAILED_INIT; } } if(!result) { /* Parse the command line arguments */ ParameterError res = parse_args(global, argc, argv); if(res) { result = CURLE_OK; /* Check if we were asked for the help */ if(res == PARAM_HELP_REQUESTED) tool_help(); /* Check if we were asked for the manual */ |
︙ | ︙ | |||
2266 2267 2268 2269 2270 2271 2272 | else if(res == PARAM_LIBCURL_UNSUPPORTED_PROTOCOL) result = CURLE_UNSUPPORTED_PROTOCOL; else result = CURLE_FAILED_INIT; } else { #ifndef CURL_DISABLE_LIBCURL_OPTION | | | | | 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 | else if(res == PARAM_LIBCURL_UNSUPPORTED_PROTOCOL) result = CURLE_UNSUPPORTED_PROTOCOL; else result = CURLE_FAILED_INIT; } else { #ifndef CURL_DISABLE_LIBCURL_OPTION if(global->libcurl) { /* Initialise the libcurl source output */ result = easysrc_init(); } #endif /* Perform the main operations */ if(!result) { size_t count = 0; struct OperationConfig *operation = global->first; CURLSH *share = curl_share_init(); if(!share) { #ifndef CURL_DISABLE_LIBCURL_OPTION if(global->libcurl) { /* Cleanup the libcurl source output */ easysrc_cleanup(); } #endif return CURLE_OUT_OF_MEMORY; } |
︙ | ︙ | |||
2301 2302 2303 2304 2305 2306 2307 | do { result = get_args(operation, count++); operation = operation->next; } while(!result && operation); /* Set the current operation pointer */ | | < < < < < < | | | | | 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 | do { result = get_args(operation, count++); operation = operation->next; } while(!result && operation); /* Set the current operation pointer */ global->current = global->first; /* now run! */ result = run_all_transfers(global, share, result); curl_share_cleanup(share); #ifndef CURL_DISABLE_LIBCURL_OPTION if(global->libcurl) { /* Cleanup the libcurl source output */ easysrc_cleanup(); /* Dump the libcurl code if previously enabled */ dumpeasysrc(global); } #endif } else helpf(global->errors, "out of memory\n"); } } return result; } |
Changes to jni/curl/src/tool_operhlp.c.
︙ | ︙ | |||
33 34 35 36 37 38 39 | #include "tool_operhlp.h" #include "tool_metalink.h" #include "memdebug.h" /* keep this as LAST include */ void clean_getout(struct OperationConfig *config) { | > | | | | | | | | | | | > | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #include "tool_operhlp.h" #include "tool_metalink.h" #include "memdebug.h" /* keep this as LAST include */ void clean_getout(struct OperationConfig *config) { if(config) { struct getout *next; struct getout *node = config->url_list; while(node) { next = node->next; Curl_safefree(node->url); Curl_safefree(node->outfile); Curl_safefree(node->infile); Curl_safefree(node); node = next; } config->url_list = NULL; } } bool output_expected(const char *url, const char *uploadfile) { if(!uploadfile) return TRUE; /* download */ if(checkprefix("http://", url) || checkprefix("https://", url)) |
︙ | ︙ |
Changes to jni/curl/src/tool_paramhlp.c.
︙ | ︙ | |||
54 55 56 57 58 59 60 | node->flags = config->default_node_flags; } return node; } ParameterError file2string(char **bufp, FILE *file) { | < < > > > > > > > > > > > > > > > > > > | | | | | | > | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | node->flags = config->default_node_flags; } return node; } ParameterError file2string(char **bufp, FILE *file) { char *string = NULL; if(file) { char *ptr; size_t alloc = 512; size_t alloc_needed; char buffer[256]; size_t stringlen = 0; string = malloc(alloc); if(!string) return PARAM_NO_MEM; while(fgets(buffer, sizeof(buffer), file)) { size_t buflen; ptr = strchr(buffer, '\r'); if(ptr) *ptr = '\0'; ptr = strchr(buffer, '\n'); if(ptr) *ptr = '\0'; buflen = strlen(buffer); alloc_needed = stringlen + buflen + 1; if(alloc < alloc_needed) { #if SIZEOF_SIZE_T < 8 if(alloc >= (size_t)SIZE_T_MAX/2) { Curl_safefree(string); return PARAM_NO_MEM; } #endif /* doubling is enough since the string to add is always max 256 bytes and the alloc size start at 512 */ alloc *= 2; ptr = realloc(string, alloc); if(!ptr) { Curl_safefree(string); return PARAM_NO_MEM; } string = ptr; } strcpy(string + stringlen, buffer); stringlen += buflen; } } *bufp = string; return PARAM_OK; } |
︙ | ︙ |
Changes to jni/curl/src/tool_setopt.h.
︙ | ︙ | |||
29 30 31 32 33 34 35 | * Macros used in operate() */ #define SETOPT_CHECK(v,opt) do { \ if(!tool_setopt_skip(opt)) { \ result = (v); \ if(result) \ | | | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | * Macros used in operate() */ #define SETOPT_CHECK(v,opt) do { \ if(!tool_setopt_skip(opt)) { \ result = (v); \ if(result) \ break; \ } \ } WHILE_FALSE /* allow removed features to simulate success: */ bool tool_setopt_skip(CURLoption tag); #ifndef CURL_DISABLE_LIBCURL_OPTION |
︙ | ︙ |
Changes to jni/curl/src/tool_urlglob.c.
︙ | ︙ | |||
483 484 485 486 487 488 489 490 491 492 493 494 495 496 | return CURLE_OK; } void glob_cleanup(URLGlob* glob) { size_t i; int elem; for(i = 0; i < glob->size; i++) { if((glob->pattern[i].type == UPTSet) && (glob->pattern[i].content.Set.elements)) { for(elem = glob->pattern[i].content.Set.size - 1; elem >= 0; --elem) { | > > > | 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 | return CURLE_OK; } void glob_cleanup(URLGlob* glob) { size_t i; int elem; if(!glob) return; for(i = 0; i < glob->size; i++) { if((glob->pattern[i].type == UPTSet) && (glob->pattern[i].content.Set.elements)) { for(elem = glob->pattern[i].content.Set.size - 1; elem >= 0; --elem) { |
︙ | ︙ |
Changes to jni/curl/src/tool_version.h.
︙ | ︙ | |||
21 22 23 24 25 26 27 | * KIND, either express or implied. * ***************************************************************************/ #include <curl/curlver.h> #define CURL_NAME "curl" #define CURL_COPYRIGHT LIBCURL_COPYRIGHT | | | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | * KIND, either express or implied. * ***************************************************************************/ #include <curl/curlver.h> #define CURL_NAME "curl" #define CURL_COPYRIGHT LIBCURL_COPYRIGHT #define CURL_VERSION "7.67.0" #define CURL_VERSION_MAJOR LIBCURL_VERSION_MAJOR #define CURL_VERSION_MINOR LIBCURL_VERSION_MINOR #define CURL_VERSION_PATCH LIBCURL_VERSION_PATCH #define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") " #endif /* HEADER_CURL_TOOL_VERSION_H */ |
Changes to jni/curl/tests/certs/Server-localhost-lastSAN-sv.crl.
1 2 3 | -----BEGIN X509 CRL----- MIIB3DCBxQIBATANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJOTjExMC8GA1UE CgwoRWRlbCBDdXJsIEFyY3RpYyBJbGx1ZGl1bSBSZXNlYXJjaCBDbG91ZDEmMCQG | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | -----BEGIN X509 CRL----- MIIB3DCBxQIBATANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJOTjExMC8GA1UE CgwoRWRlbCBDdXJsIEFyY3RpYyBJbGx1ZGl1bSBSZXNlYXJjaCBDbG91ZDEmMCQG A1UEAwwdTm9ydGhlcm4gTm93aGVyZSBUcnVzdCBBbmNob3IXDTE5MTEwMjEyNTMy N1oXDTE5MTIwMjEyNTMyN1owGTAXAgYOTbnGJLAXDTE5MTEwMjEyNTMyNlqgDjAM MAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBBQUAA4IBAQClxELmQvUD2S0UcNFbjMe/ vv80HtpnwhTK356DUggVBh+EjvIXT4EakBbxxgDZMkaxJYH70RQ0UPLtB41pfmg3 BS6Gl/0Vn+cAk8w/+dG4DHibdeqSPjIHCaAlkKqHV89Lp7IS6qrD0Bn/L7De6O7c 4xLvRiDvx/cO5uAkX8vOtzKsOU/0U06QSSGK09dRL2mHbaH4FQj2PFMgcDd1GxAQ saii0bWZ6qLiYkQRtJGAplD+uqOaSSsioqVFy/NjaIip0axNtCG9sBhvp6lTpeiR Phl04I+WyKoP5f/NTU+fKbWarWka4evPSpRM2o9QYrYb/vj0TMK8lJ3JqgwlLrJ+ -----END X509 CRL----- |
Changes to jni/curl/tests/certs/Server-localhost-lastSAN-sv.crt.
1 2 3 | Certificate: Data: Version: 3 (0x2) | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | Certificate: Data: Version: 3 (0x2) Serial Number: 0e:4d:b9:c6:24:b0 Signature Algorithm: sha256WithRSAEncryption Issuer: countryName = NN organizationName = Edel Curl Arctic Illudium Research Cloud commonName = Northern Nowhere Trust Anchor Validity Not Before: Nov 2 12:53:25 2019 GMT Not After : Jan 19 12:53:25 2028 GMT Subject: countryName = NN organizationName = Edel Curl Arctic Illudium Research Cloud commonName = localhost.nn Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public-Key: (2048 bit) Modulus: 00:bd:97:0e:a7:6d:b6:73:8c:d0:21:6b:f3:36:74: 5d:0a:aa:3a:f0:fa:6e:b1:5c:1c:13:74:ca:67:2b: 22:03:d1:a6:3c:25:ef:87:4f:e8:38:9f:21:1d:2e: 88:12:36:66:82:03:02:4c:f8:17:35:02:95:31:b1: 53:40:21:24:2f:00:f0:bf:80:58:16:b1:92:b3:d3: 78:bf:78:cb:0a:91:0c:d2:6d:5d:b2:1f:41:73:16: 02:7c:1a:cd:16:25:c9:e1:1b:81:bd:84:93:4c:63: ce:38:f4:3e:ad:98:6b:00:89:a8:ba:f5:7e:08:83: f3:9a:f5:98:b8:9f:d6:d8:c7:d4:f3:07:1c:8f:ef: bc:29:10:60:8c:85:8b:4c:7a:73:c7:9f:a8:23:2f: c4:47:f5:18:85:98:fb:27:de:58:93:4b:08:a5:66: c9:df:db:f0:22:f8:64:9f:a1:56:89:97:ab:02:2c: 5a:99:f2:6f:bf:72:31:90:22:32:ae:86:25:6b:13: c6:72:ec:df:2e:c8:12:00:c1:e3:38:b4:a0:40:ba: 01:61:c2:d7:b1:ef:7d:4b:29:18:e2:fe:28:d0:98: e4:65:3f:4c:34:39:e4:82:a9:ca:b2:3d:c4:91:8f: a0:94:bf:e3:f8:b3:73:48:b7:fe:fa:04:43:e7:b5: bc:bd Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DNS:localhost1, DNS:localhost2, DNS:localhost X509v3 Key Usage: Digital Signature, Key Encipherment, Key Agreement X509v3 Extended Key Usage: TLS Web Server Authentication X509v3 Subject Key Identifier: 4E:54:63:95:A1:58:0C:FA:BD:3E:58:26:AF:AF:A4:F3:66:1A:CB:25 X509v3 Authority Key Identifier: keyid:12:CA:BA:4B:46:04:A7:75:8A:2C:E8:0E:54:94:BC:12:65:A6:7B:CE X509v3 Basic Constraints: CA:FALSE Signature Algorithm: sha256WithRSAEncryption 2c:f9:48:33:7c:93:ca:3c:9c:58:92:8c:2b:87:61:9f:0d:9c: 9d:e8:43:43:12:d6:a3:40:71:ec:cb:31:76:80:68:b1:54:d1: 86:f4:b3:9e:c8:50:62:b4:87:12:be:9b:d6:3c:2b:cf:22:0e: 66:26:c2:31:dd:1f:c6:97:1e:61:a4:51:ea:68:75:81:66:b9: 3b:a6:1f:f6:80:ec:6b:aa:65:66:0c:02:ab:c9:57:bd:6a:4e: 6d:24:30:13:7b:65:17:60:9a:14:37:57:f7:22:66:55:7d:1a: 1a:5b:27:43:3b:d4:88:bc:2f:d3:d7:bb:d5:3f:9b:25:26:5d: 39:a0:4c:8a:84:2c:db:04:87:8a:df:49:7d:4b:d2:85:7a:09: 5e:df:6b:1b:b5:6e:9c:bb:2b:f6:c5:01:19:5a:87:d0:cf:16: 67:8b:54:41:87:c1:33:c3:21:f6:e5:84:d2:84:5d:da:82:cd: 39:4d:50:97:f3:83:37:9e:e5:04:0e:dc:c6:20:d1:b3:f6:c7: 3d:dd:95:be:8c:b9:72:72:7a:71:66:aa:4a:8e:cf:37:38:e8: c8:06:69:68:8d:d8:d6:8b:4c:23:50:27:fa:e9:bb:2a:a6:89: 56:ad:be:4d:bd:be:0c:d7:55:b4:f4:b9:f7:6a:b5:2c:7f:5f: 9f:df:f6:61 -----BEGIN CERTIFICATE----- MIID3jCCAsagAwIBAgIGDk25xiSwMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNVBAYT Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo IENsb3VkMSYwJAYDVQQDDB1Ob3J0aGVybiBOb3doZXJlIFRydXN0IEFuY2hvcjAe Fw0xOTExMDIxMjUzMjVaFw0yODAxMTkxMjUzMjVaMFcxCzAJBgNVBAYTAk5OMTEw LwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNoIENsb3Vk MRUwEwYDVQQDDAxsb2NhbGhvc3Qubm4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQC9lw6nbbZzjNAha/M2dF0Kqjrw+m6xXBwTdMpnKyID0aY8Je+HT+g4 nyEdLogSNmaCAwJM+Bc1ApUxsVNAISQvAPC/gFgWsZKz03i/eMsKkQzSbV2yH0Fz FgJ8Gs0WJcnhG4G9hJNMY8449D6tmGsAiai69X4Ig/Oa9Zi4n9bYx9TzBxyP77wp EGCMhYtMenPHn6gjL8RH9RiFmPsn3liTSwilZsnf2/Ai+GSfoVaJl6sCLFqZ8m+/ cjGQIjKuhiVrE8Zy7N8uyBIAweM4tKBAugFhwtex731LKRji/ijQmORlP0w0OeSC qcqyPcSRj6CUv+P4s3NIt/76BEPntby9AgMBAAGjgZ4wgZswLAYDVR0RBCUwI4IK bG9jYWxob3N0MYIKbG9jYWxob3N0MoIJbG9jYWxob3N0MAsGA1UdDwQEAwIDqDAT BgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQUTlRjlaFYDPq9Plgmr6+k82Ya yyUwHwYDVR0jBBgwFoAUEsq6S0YEp3WKLOgOVJS8EmWme84wCQYDVR0TBAIwADAN BgkqhkiG9w0BAQsFAAOCAQEALPlIM3yTyjycWJKMK4dhnw2cnehDQxLWo0Bx7Msx doBosVTRhvSznshQYrSHEr6b1jwrzyIOZibCMd0fxpceYaRR6mh1gWa5O6Yf9oDs a6plZgwCq8lXvWpObSQwE3tlF2CaFDdX9yJmVX0aGlsnQzvUiLwv09e71T+bJSZd OaBMioQs2wSHit9JfUvShXoJXt9rG7VunLsr9sUBGVqH0M8WZ4tUQYfBM8Mh9uWE 0oRd2oLNOU1Ql/ODN57lBA7cxiDRs/bHPd2Vvoy5cnJ6cWaqSo7PNzjoyAZpaI3Y 1otMI1An+um7KqaJVq2+Tb2+DNdVtPS592q1LH9fn9/2YQ== -----END CERTIFICATE----- |
Changes to jni/curl/tests/certs/Server-localhost-lastSAN-sv.csr.
1 2 3 | -----BEGIN CERTIFICATE REQUEST----- MIICnDCCAYQCAQAwVzELMAkGA1UEBhMCTk4xMTAvBgNVBAoMKEVkZWwgQ3VybCBB cmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQxFTATBgNVBAMMDGxvY2FsaG9z | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -----BEGIN CERTIFICATE REQUEST----- MIICnDCCAYQCAQAwVzELMAkGA1UEBhMCTk4xMTAvBgNVBAoMKEVkZWwgQ3VybCBB cmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQxFTATBgNVBAMMDGxvY2FsaG9z dC5ubjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL2XDqdttnOM0CFr 8zZ0XQqqOvD6brFcHBN0ymcrIgPRpjwl74dP6DifIR0uiBI2ZoIDAkz4FzUClTGx U0AhJC8A8L+AWBaxkrPTeL94ywqRDNJtXbIfQXMWAnwazRYlyeEbgb2Ek0xjzjj0 Pq2YawCJqLr1fgiD85r1mLif1tjH1PMHHI/vvCkQYIyFi0x6c8efqCMvxEf1GIWY +yfeWJNLCKVmyd/b8CL4ZJ+hVomXqwIsWpnyb79yMZAiMq6GJWsTxnLs3y7IEgDB 4zi0oEC6AWHC17HvfUspGOL+KNCY5GU/TDQ55IKpyrI9xJGPoJS/4/izc0i3/voE Q+e1vL0CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQCpqiSx7VjqeQ2g8lpHF0Nb /10H1DqaK7Z3y49xFK3xxKWdxKUdq3Nf7JYlhKpWDYokrkw5W+nhGQILYt6ZD8tN tBZphyp3rvmTcewEFtbBne5N7OsAaanlBxeCLhnCICGhd+QCqYJKWe+zw8Oc5dCp SRmWEL5FTu9AavBc0LDx1gNBupDiXGhF+BptOzgfDbijd0aRgy9cYwAQ9kXo4H+y TH1ZYcSfB0gs7sShiY5FvuGr54Vv0czn+HqrdyWKDGLp7ilPYCT4WXBWfTon9j1H 9NDomhrVme9IGKItYHg+p59WpevklW900X4NZCVspePgNeBOvXYbGqDEN01o1xIG -----END CERTIFICATE REQUEST----- |
Changes to jni/curl/tests/certs/Server-localhost-lastSAN-sv.der.
cannot compute difference between binary files
Changes to jni/curl/tests/certs/Server-localhost-lastSAN-sv.key.
1 | -----BEGIN RSA PRIVATE KEY----- | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAvZcOp222c4zQIWvzNnRdCqo68PpusVwcE3TKZysiA9GmPCXv h0/oOJ8hHS6IEjZmggMCTPgXNQKVMbFTQCEkLwDwv4BYFrGSs9N4v3jLCpEM0m1d sh9BcxYCfBrNFiXJ4RuBvYSTTGPOOPQ+rZhrAImouvV+CIPzmvWYuJ/W2MfU8wcc j++8KRBgjIWLTHpzx5+oIy/ER/UYhZj7J95Yk0sIpWbJ39vwIvhkn6FWiZerAixa mfJvv3IxkCIyroYlaxPGcuzfLsgSAMHjOLSgQLoBYcLXse99SykY4v4o0JjkZT9M NDnkgqnKsj3EkY+glL/j+LNzSLf++gRD57W8vQIDAQABAoIBAQCC0wTKpdtbmtRX 66y1a9B0NolblgPiISRCjLnKPSpIpldmc+r4XTxqLexkvaIppx5PIpJo2FzzOGgJ FUrUGspkIOr/yil+52PK8OcGgOziyrqlTdB0xDqelpZ6WuggG01WJ2v8gco+0TQR ewDxOxbDFTq4YARrDdqAmG6dH7baeMDvh6IVe/dkJOVlyh0MA2QP+VR6fDv73jUe 3yW6G+hql9mjZK6Cgz2lWoeW7YXAvWtTXT68/bcZLO64oLyCjBmsbSrBRQN5m9M9 dWJV5B0h02P+uMF5H+EAD3qN5I670iSY3d+FWBpd3cA2arRGWlUXNmCGG3CjLYUS wGw1lbFhAoGBAPG6JhdXAaH3DN9khp54plbFSIanvjWK8RAEaQgkurwDUL3o1LmC ObqiCmMTU25HRlwWkwlCxejHfzOEqFdwiX5QuNmYBE6TYHtmnWSJ5ebMG7SOtlIS 9Z4dLNZz8j95OGKb3XI9qR0ItxsmuLgWvrJUayd0UXcU7BTzHCXGx99JAoGBAMjI 0z5+DeTwBhDY1mIUY081FmhrT9PhFHGtRy2OIENW0ZhJ5yE+ygVQssnR+Lr/yl1p zGC+CM//5wmJ774Xx0reMsh/rgK4Z0Wq47JJFGo0RMfYVmlod0OndtdobDc7ds7t Q3wIGt2ZXW6BtzMo8KVUuuHL8QwZoZqJNe/7QE3VAoGAGGrRRjJHu/CUoEwrPP66 7rDm7pMrJ4VtbEzFv0jWg/9hvI00T7jT1AJiQjfFibIxbUPqflj8XNMqCi4wQwTf Hp9QzMoKRVWlvVFUPL+hNXsQoWB5EjlQDjSsPs1ffwHjrDJKYCvSVVh4BooWxqGl iaX1XPrm77xxTHxyL26w6eECgYA176S3g9stpcCrY+RrInju/R7Q3Arsquj4BIk7 VpOaI0dYdnnNN3XDacMtbec4LKBq6ZHKZyIs5dxldpVdZjvWA8x2ib3v4yNy1o4m BXWjdfkICjhkRnjLRsAo61cumx22Row7VF4LKzirB9NzvcqvTwyIvWU6T+RWhAdm OQM0JQKBgC+gmBGfnQShTRYlfpb4RVnDijPpC34AdEO7wdeMcdQK9KfWsLZT5y0w qoZhW9IPlu1dNRhwHqGHWu2CmQVwFpy5/ccpukCJfyZw7edbb9dIqzKlUWw8Jmmg C7WKz4z3mKkZrwptFxDu0dpQ644yOP/gnRaLLyP0zn/brmnYz09X -----END RSA PRIVATE KEY----- |
Changes to jni/curl/tests/certs/Server-localhost-lastSAN-sv.pem.
︙ | ︙ | |||
20 21 22 23 24 25 26 | commonName_value = localhost.nn [something] # The key # the certificate # some dhparam -----BEGIN RSA PRIVATE KEY----- | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | commonName_value = localhost.nn [something] # The key # the certificate # some dhparam -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAvZcOp222c4zQIWvzNnRdCqo68PpusVwcE3TKZysiA9GmPCXv h0/oOJ8hHS6IEjZmggMCTPgXNQKVMbFTQCEkLwDwv4BYFrGSs9N4v3jLCpEM0m1d sh9BcxYCfBrNFiXJ4RuBvYSTTGPOOPQ+rZhrAImouvV+CIPzmvWYuJ/W2MfU8wcc j++8KRBgjIWLTHpzx5+oIy/ER/UYhZj7J95Yk0sIpWbJ39vwIvhkn6FWiZerAixa mfJvv3IxkCIyroYlaxPGcuzfLsgSAMHjOLSgQLoBYcLXse99SykY4v4o0JjkZT9M NDnkgqnKsj3EkY+glL/j+LNzSLf++gRD57W8vQIDAQABAoIBAQCC0wTKpdtbmtRX 66y1a9B0NolblgPiISRCjLnKPSpIpldmc+r4XTxqLexkvaIppx5PIpJo2FzzOGgJ FUrUGspkIOr/yil+52PK8OcGgOziyrqlTdB0xDqelpZ6WuggG01WJ2v8gco+0TQR ewDxOxbDFTq4YARrDdqAmG6dH7baeMDvh6IVe/dkJOVlyh0MA2QP+VR6fDv73jUe 3yW6G+hql9mjZK6Cgz2lWoeW7YXAvWtTXT68/bcZLO64oLyCjBmsbSrBRQN5m9M9 dWJV5B0h02P+uMF5H+EAD3qN5I670iSY3d+FWBpd3cA2arRGWlUXNmCGG3CjLYUS wGw1lbFhAoGBAPG6JhdXAaH3DN9khp54plbFSIanvjWK8RAEaQgkurwDUL3o1LmC ObqiCmMTU25HRlwWkwlCxejHfzOEqFdwiX5QuNmYBE6TYHtmnWSJ5ebMG7SOtlIS 9Z4dLNZz8j95OGKb3XI9qR0ItxsmuLgWvrJUayd0UXcU7BTzHCXGx99JAoGBAMjI 0z5+DeTwBhDY1mIUY081FmhrT9PhFHGtRy2OIENW0ZhJ5yE+ygVQssnR+Lr/yl1p zGC+CM//5wmJ774Xx0reMsh/rgK4Z0Wq47JJFGo0RMfYVmlod0OndtdobDc7ds7t Q3wIGt2ZXW6BtzMo8KVUuuHL8QwZoZqJNe/7QE3VAoGAGGrRRjJHu/CUoEwrPP66 7rDm7pMrJ4VtbEzFv0jWg/9hvI00T7jT1AJiQjfFibIxbUPqflj8XNMqCi4wQwTf Hp9QzMoKRVWlvVFUPL+hNXsQoWB5EjlQDjSsPs1ffwHjrDJKYCvSVVh4BooWxqGl iaX1XPrm77xxTHxyL26w6eECgYA176S3g9stpcCrY+RrInju/R7Q3Arsquj4BIk7 VpOaI0dYdnnNN3XDacMtbec4LKBq6ZHKZyIs5dxldpVdZjvWA8x2ib3v4yNy1o4m BXWjdfkICjhkRnjLRsAo61cumx22Row7VF4LKzirB9NzvcqvTwyIvWU6T+RWhAdm OQM0JQKBgC+gmBGfnQShTRYlfpb4RVnDijPpC34AdEO7wdeMcdQK9KfWsLZT5y0w qoZhW9IPlu1dNRhwHqGHWu2CmQVwFpy5/ccpukCJfyZw7edbb9dIqzKlUWw8Jmmg C7WKz4z3mKkZrwptFxDu0dpQ644yOP/gnRaLLyP0zn/brmnYz09X -----END RSA PRIVATE KEY----- Certificate: Data: Version: 3 (0x2) Serial Number: 0e:4d:b9:c6:24:b0 Signature Algorithm: sha256WithRSAEncryption Issuer: countryName = NN organizationName = Edel Curl Arctic Illudium Research Cloud commonName = Northern Nowhere Trust Anchor Validity Not Before: Nov 2 12:53:25 2019 GMT Not After : Jan 19 12:53:25 2028 GMT Subject: countryName = NN organizationName = Edel Curl Arctic Illudium Research Cloud commonName = localhost.nn Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public-Key: (2048 bit) Modulus: 00:bd:97:0e:a7:6d:b6:73:8c:d0:21:6b:f3:36:74: 5d:0a:aa:3a:f0:fa:6e:b1:5c:1c:13:74:ca:67:2b: 22:03:d1:a6:3c:25:ef:87:4f:e8:38:9f:21:1d:2e: 88:12:36:66:82:03:02:4c:f8:17:35:02:95:31:b1: 53:40:21:24:2f:00:f0:bf:80:58:16:b1:92:b3:d3: 78:bf:78:cb:0a:91:0c:d2:6d:5d:b2:1f:41:73:16: 02:7c:1a:cd:16:25:c9:e1:1b:81:bd:84:93:4c:63: ce:38:f4:3e:ad:98:6b:00:89:a8:ba:f5:7e:08:83: f3:9a:f5:98:b8:9f:d6:d8:c7:d4:f3:07:1c:8f:ef: bc:29:10:60:8c:85:8b:4c:7a:73:c7:9f:a8:23:2f: c4:47:f5:18:85:98:fb:27:de:58:93:4b:08:a5:66: c9:df:db:f0:22:f8:64:9f:a1:56:89:97:ab:02:2c: 5a:99:f2:6f:bf:72:31:90:22:32:ae:86:25:6b:13: c6:72:ec:df:2e:c8:12:00:c1:e3:38:b4:a0:40:ba: 01:61:c2:d7:b1:ef:7d:4b:29:18:e2:fe:28:d0:98: e4:65:3f:4c:34:39:e4:82:a9:ca:b2:3d:c4:91:8f: a0:94:bf:e3:f8:b3:73:48:b7:fe:fa:04:43:e7:b5: bc:bd Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DNS:localhost1, DNS:localhost2, DNS:localhost X509v3 Key Usage: Digital Signature, Key Encipherment, Key Agreement X509v3 Extended Key Usage: TLS Web Server Authentication X509v3 Subject Key Identifier: 4E:54:63:95:A1:58:0C:FA:BD:3E:58:26:AF:AF:A4:F3:66:1A:CB:25 X509v3 Authority Key Identifier: keyid:12:CA:BA:4B:46:04:A7:75:8A:2C:E8:0E:54:94:BC:12:65:A6:7B:CE X509v3 Basic Constraints: CA:FALSE Signature Algorithm: sha256WithRSAEncryption 2c:f9:48:33:7c:93:ca:3c:9c:58:92:8c:2b:87:61:9f:0d:9c: 9d:e8:43:43:12:d6:a3:40:71:ec:cb:31:76:80:68:b1:54:d1: 86:f4:b3:9e:c8:50:62:b4:87:12:be:9b:d6:3c:2b:cf:22:0e: 66:26:c2:31:dd:1f:c6:97:1e:61:a4:51:ea:68:75:81:66:b9: 3b:a6:1f:f6:80:ec:6b:aa:65:66:0c:02:ab:c9:57:bd:6a:4e: 6d:24:30:13:7b:65:17:60:9a:14:37:57:f7:22:66:55:7d:1a: 1a:5b:27:43:3b:d4:88:bc:2f:d3:d7:bb:d5:3f:9b:25:26:5d: 39:a0:4c:8a:84:2c:db:04:87:8a:df:49:7d:4b:d2:85:7a:09: 5e:df:6b:1b:b5:6e:9c:bb:2b:f6:c5:01:19:5a:87:d0:cf:16: 67:8b:54:41:87:c1:33:c3:21:f6:e5:84:d2:84:5d:da:82:cd: 39:4d:50:97:f3:83:37:9e:e5:04:0e:dc:c6:20:d1:b3:f6:c7: 3d:dd:95:be:8c:b9:72:72:7a:71:66:aa:4a:8e:cf:37:38:e8: c8:06:69:68:8d:d8:d6:8b:4c:23:50:27:fa:e9:bb:2a:a6:89: 56:ad:be:4d:bd:be:0c:d7:55:b4:f4:b9:f7:6a:b5:2c:7f:5f: 9f:df:f6:61 -----BEGIN CERTIFICATE----- MIID3jCCAsagAwIBAgIGDk25xiSwMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNVBAYT Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo IENsb3VkMSYwJAYDVQQDDB1Ob3J0aGVybiBOb3doZXJlIFRydXN0IEFuY2hvcjAe Fw0xOTExMDIxMjUzMjVaFw0yODAxMTkxMjUzMjVaMFcxCzAJBgNVBAYTAk5OMTEw LwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNoIENsb3Vk MRUwEwYDVQQDDAxsb2NhbGhvc3Qubm4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQC9lw6nbbZzjNAha/M2dF0Kqjrw+m6xXBwTdMpnKyID0aY8Je+HT+g4 nyEdLogSNmaCAwJM+Bc1ApUxsVNAISQvAPC/gFgWsZKz03i/eMsKkQzSbV2yH0Fz FgJ8Gs0WJcnhG4G9hJNMY8449D6tmGsAiai69X4Ig/Oa9Zi4n9bYx9TzBxyP77wp EGCMhYtMenPHn6gjL8RH9RiFmPsn3liTSwilZsnf2/Ai+GSfoVaJl6sCLFqZ8m+/ cjGQIjKuhiVrE8Zy7N8uyBIAweM4tKBAugFhwtex731LKRji/ijQmORlP0w0OeSC qcqyPcSRj6CUv+P4s3NIt/76BEPntby9AgMBAAGjgZ4wgZswLAYDVR0RBCUwI4IK bG9jYWxob3N0MYIKbG9jYWxob3N0MoIJbG9jYWxob3N0MAsGA1UdDwQEAwIDqDAT BgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQUTlRjlaFYDPq9Plgmr6+k82Ya yyUwHwYDVR0jBBgwFoAUEsq6S0YEp3WKLOgOVJS8EmWme84wCQYDVR0TBAIwADAN BgkqhkiG9w0BAQsFAAOCAQEALPlIM3yTyjycWJKMK4dhnw2cnehDQxLWo0Bx7Msx doBosVTRhvSznshQYrSHEr6b1jwrzyIOZibCMd0fxpceYaRR6mh1gWa5O6Yf9oDs a6plZgwCq8lXvWpObSQwE3tlF2CaFDdX9yJmVX0aGlsnQzvUiLwv09e71T+bJSZd OaBMioQs2wSHit9JfUvShXoJXt9rG7VunLsr9sUBGVqH0M8WZ4tUQYfBM8Mh9uWE 0oRd2oLNOU1Ql/ODN57lBA7cxiDRs/bHPd2Vvoy5cnJ6cWaqSo7PNzjoyAZpaI3Y 1otMI1An+um7KqaJVq2+Tb2+DNdVtPS592q1LH9fn9/2YQ== -----END CERTIFICATE----- |
Changes to jni/curl/tests/certs/Server-localhost-lastSAN-sv.pub.der.
cannot compute difference between binary files
Changes to jni/curl/tests/certs/Server-localhost-lastSAN-sv.pub.pem.
1 | -----BEGIN PUBLIC KEY----- | | | | | | | | | 1 2 3 4 5 6 7 8 9 | -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvZcOp222c4zQIWvzNnRd Cqo68PpusVwcE3TKZysiA9GmPCXvh0/oOJ8hHS6IEjZmggMCTPgXNQKVMbFTQCEk LwDwv4BYFrGSs9N4v3jLCpEM0m1dsh9BcxYCfBrNFiXJ4RuBvYSTTGPOOPQ+rZhr AImouvV+CIPzmvWYuJ/W2MfU8wccj++8KRBgjIWLTHpzx5+oIy/ER/UYhZj7J95Y k0sIpWbJ39vwIvhkn6FWiZerAixamfJvv3IxkCIyroYlaxPGcuzfLsgSAMHjOLSg QLoBYcLXse99SykY4v4o0JjkZT9MNDnkgqnKsj3EkY+glL/j+LNzSLf++gRD57W8 vQIDAQAB -----END PUBLIC KEY----- |
Changes to jni/curl/tests/data/Makefile.in.
︙ | ︙ | |||
395 396 397 398 399 400 401 | test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ | | | 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ test334 test335 test336 test337 test338 \ test340 \ \ test350 test351 test352 test353 test354 test355 test356 \ test393 test394 test395 \ \ test400 test401 test402 test403 test404 test405 test406 test407 test408 \ test409 \ |
︙ | ︙ | |||
421 422 423 424 425 426 427 | test590 test591 test592 test593 test594 test595 test596 test597 test598 \ test599 test600 test601 test602 test603 test604 test605 test606 test607 \ test608 test609 test610 test611 test612 test613 test614 test615 test616 \ test617 test618 test619 test620 test621 test622 test623 test624 test625 \ test626 test627 test628 test629 test630 test631 test632 test633 test634 \ test635 test636 test637 test638 test639 test640 test641 test642 \ test643 test644 test645 test646 test647 test648 test649 test650 test651 \ | | > | 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 | test590 test591 test592 test593 test594 test595 test596 test597 test598 \ test599 test600 test601 test602 test603 test604 test605 test606 test607 \ test608 test609 test610 test611 test612 test613 test614 test615 test616 \ test617 test618 test619 test620 test621 test622 test623 test624 test625 \ test626 test627 test628 test629 test630 test631 test632 test633 test634 \ test635 test636 test637 test638 test639 test640 test641 test642 \ test643 test644 test645 test646 test647 test648 test649 test650 test651 \ test652 test653 test654 test655 test656 test658 test659 test660 test661 \ test662 test663 \ \ test700 test701 test702 test703 test704 test705 test706 test707 test708 \ test709 test710 test711 test712 test713 test714 test715 test716 test717 \ \ test800 test801 test802 test803 test804 test805 test806 test807 test808 \ test809 test810 test811 test812 test813 test814 test815 test816 test817 \ test818 test819 test820 test821 test822 test823 test824 test825 test826 \ |
︙ | ︙ | |||
467 468 469 470 471 472 473 | test1104 test1105 test1106 test1107 test1108 test1109 test1110 test1111 \ test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \ test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \ test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \ test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \ test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \ test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \ | | | 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 | test1104 test1105 test1106 test1107 test1108 test1109 test1110 test1111 \ test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \ test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \ test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \ test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \ test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \ test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \ test1160 test1161 test1162 test1163 test1164 test1165 test1166 \ test1170 test1171 test1172 test1173 test1174 \ \ test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \ test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \ test1216 test1217 test1218 test1219 \ test1220 test1221 test1222 test1223 test1224 test1225 test1226 test1227 \ test1228 test1229 test1230 test1231 test1232 test1233 test1234 test1235 \ |
︙ | ︙ | |||
516 517 518 519 520 521 522 | \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ test1540 test1541 \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1559 test1560 test1561 test1562 test1563 \ \ | | | | | 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 | \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ test1540 test1541 \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1559 test1560 test1561 test1562 test1563 \ \ test1590 test1591 test1592 test1593 test1594 test1595 test1596 \ \ test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \ test1608 test1609 test1620 test1621 \ \ test1650 test1651 test1652 test1653 test1654 test1655 \ \ test1700 test1701 test1702 \ \ test1800 test1801 \ \ test1900 test1901 test1902 test1903 test1904 test1905 test1906 test1907 \ \ test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \ test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \ test2016 test2017 test2018 test2019 test2020 test2021 test2022 test2023 \ test2024 test2025 test2026 test2027 test2028 test2029 test2030 test2031 \ test2032 test2033 test2034 test2035 test2036 test2037 test2038 test2039 \ test2040 test2041 test2042 test2043 test2044 test2045 test2046 test2047 \ |
︙ | ︙ |
Changes to jni/curl/tests/data/Makefile.inc.
︙ | ︙ | |||
53 54 55 56 57 58 59 | test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ | | | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ test334 test335 test336 test337 test338 \ test340 \ \ test350 test351 test352 test353 test354 test355 test356 \ test393 test394 test395 \ \ test400 test401 test402 test403 test404 test405 test406 test407 test408 \ test409 \ |
︙ | ︙ | |||
79 80 81 82 83 84 85 | test590 test591 test592 test593 test594 test595 test596 test597 test598 \ test599 test600 test601 test602 test603 test604 test605 test606 test607 \ test608 test609 test610 test611 test612 test613 test614 test615 test616 \ test617 test618 test619 test620 test621 test622 test623 test624 test625 \ test626 test627 test628 test629 test630 test631 test632 test633 test634 \ test635 test636 test637 test638 test639 test640 test641 test642 \ test643 test644 test645 test646 test647 test648 test649 test650 test651 \ | | > | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | test590 test591 test592 test593 test594 test595 test596 test597 test598 \ test599 test600 test601 test602 test603 test604 test605 test606 test607 \ test608 test609 test610 test611 test612 test613 test614 test615 test616 \ test617 test618 test619 test620 test621 test622 test623 test624 test625 \ test626 test627 test628 test629 test630 test631 test632 test633 test634 \ test635 test636 test637 test638 test639 test640 test641 test642 \ test643 test644 test645 test646 test647 test648 test649 test650 test651 \ test652 test653 test654 test655 test656 test658 test659 test660 test661 \ test662 test663 \ \ test700 test701 test702 test703 test704 test705 test706 test707 test708 \ test709 test710 test711 test712 test713 test714 test715 test716 test717 \ \ test800 test801 test802 test803 test804 test805 test806 test807 test808 \ test809 test810 test811 test812 test813 test814 test815 test816 test817 \ test818 test819 test820 test821 test822 test823 test824 test825 test826 \ |
︙ | ︙ | |||
125 126 127 128 129 130 131 | test1104 test1105 test1106 test1107 test1108 test1109 test1110 test1111 \ test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \ test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \ test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \ test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \ test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \ test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \ | | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | test1104 test1105 test1106 test1107 test1108 test1109 test1110 test1111 \ test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \ test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \ test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \ test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \ test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \ test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \ test1160 test1161 test1162 test1163 test1164 test1165 test1166 \ test1170 test1171 test1172 test1173 test1174 \ \ test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \ test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \ test1216 test1217 test1218 test1219 \ test1220 test1221 test1222 test1223 test1224 test1225 test1226 test1227 \ test1228 test1229 test1230 test1231 test1232 test1233 test1234 test1235 \ |
︙ | ︙ | |||
174 175 176 177 178 179 180 | \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ test1540 test1541 \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1559 test1560 test1561 test1562 test1563 \ \ | | | | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ test1540 test1541 \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1559 test1560 test1561 test1562 test1563 \ \ test1590 test1591 test1592 test1593 test1594 test1595 test1596 \ \ test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \ test1608 test1609 test1620 test1621 \ \ test1650 test1651 test1652 test1653 test1654 test1655 \ \ test1700 test1701 test1702 \ \ test1800 test1801 \ \ test1900 test1901 test1902 test1903 test1904 test1905 test1906 test1907 \ \ test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \ test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \ test2016 test2017 test2018 test2019 test2020 test2021 test2022 test2023 \ test2024 test2025 test2026 test2027 test2028 test2029 test2030 test2031 \ test2032 test2033 test2034 test2035 test2036 test2037 test2038 test2039 \ test2040 test2041 test2042 test2043 test2044 test2045 test2046 test2047 \ |
︙ | ︙ |
Changes to jni/curl/tests/data/test1002.
︙ | ︙ | |||
61 62 63 64 65 66 67 68 69 70 71 72 73 74 | # <server> http </server> <features> !SSPI crypto </features> <name> HTTP PUT with Digest auth, resumed upload and modified method, twice </name> <command> http://%HOSTIP:%HTTPPORT/1002.upload1 -T log/1002 http://%HOSTIP:%HTTPPORT/1002.upload2 -T log/1002 -u auser:apasswd --digest -x http://%HOSTIP:%HTTPPORT -C 2 -X GET </command> | > | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | # <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP PUT with Digest auth, resumed upload and modified method, twice </name> <command> http://%HOSTIP:%HTTPPORT/1002.upload1 -T log/1002 http://%HOSTIP:%HTTPPORT/1002.upload2 -T log/1002 -u auser:apasswd --digest -x http://%HOSTIP:%HTTPPORT -C 2 -X GET </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1008.
︙ | ︙ | |||
84 85 86 87 88 89 90 91 92 93 94 95 96 97 | <server> http </server> <features> NTLM !SSPI debug </features> <name> HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test1010.
︙ | ︙ | |||
45 46 47 48 49 50 51 | <verify> <protocol> USER anonymous PASS ftp@example.com PWD EPSV TYPE A | | | | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <verify> <protocol> USER anonymous PASS ftp@example.com PWD EPSV TYPE A LIST /list/this/path/1010 EPSV LIST /list/this/path/1010 QUIT </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test1016.
︙ | ︙ | |||
19 20 21 22 23 24 25 | <features> file </features> <name> X-Y range on a file:// URL to stdout </name> <command option="no-include"> | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <features> file </features> <name> X-Y range on a file:// URL to stdout </name> <command option="no-include"> -r 1-4 file://localhost%FILE_PWD/log/test1016.txt </command> <file name="log/test1016.txt"> 1234567890 </file> </client> # Verify data after the test has been "shot" |
︙ | ︙ |
Changes to jni/curl/tests/data/test1017.
︙ | ︙ | |||
20 21 22 23 24 25 26 | <features> file </features> <name> 0-Y range on a file:// URL to stdout </name> <command option="no-include"> | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <features> file </features> <name> 0-Y range on a file:// URL to stdout </name> <command option="no-include"> -r 0-3 file://localhost%FILE_PWD/log/test1017.txt </command> <file name="log/test1017.txt"> 1234567890 </file> </client> # Verify data after the test has been "shot" |
︙ | ︙ |
Changes to jni/curl/tests/data/test1018.
︙ | ︙ | |||
19 20 21 22 23 24 25 | <features> file </features> <name> X-X range on a file:// URL to stdout </name> <command option="no-include"> | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <features> file </features> <name> X-X range on a file:// URL to stdout </name> <command option="no-include"> -r 4-4 file://localhost%FILE_PWD/log/test1018.txt </command> <file name="log/test1018.txt"> 1234567890 </file> </client> # Verify data after the test has been "shot" |
︙ | ︙ |
Changes to jni/curl/tests/data/test1019.
︙ | ︙ | |||
20 21 22 23 24 25 26 | <features> file </features> <name> X- range on a file:// URL to stdout </name> <command option="no-include"> | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <features> file </features> <name> X- range on a file:// URL to stdout </name> <command option="no-include"> -r 7- file://localhost%FILE_PWD/log/test1019.txt </command> <file name="log/test1019.txt"> 1234567890 1234567890 </file> </client> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1020.
︙ | ︙ | |||
20 21 22 23 24 25 26 | <features> file </features> <name> -Y range on a file:// URL to stdout </name> <command option="no-include"> | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <features> file </features> <name> -Y range on a file:// URL to stdout </name> <command option="no-include"> -r -9 file://localhost%FILE_PWD/log/test1020.txt </command> <file name="log/test1020.txt"> 1234567890 1234567890 </file> </client> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1021.
︙ | ︙ | |||
89 90 91 92 93 94 95 96 97 98 99 100 101 102 | <server> http </server> <features> NTLM !SSPI debug </features> <name> HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test1059.
︙ | ︙ | |||
22 23 24 25 26 27 28 29 30 31 32 33 34 35 | </reply> # # Client-side <client> <features> ftp </features> <server> http </server> <name> HTTP CONNECT with proxytunnel to unsupported FTP URL </name> | > | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | </reply> # # Client-side <client> <features> ftp proxy </features> <server> http </server> <name> HTTP CONNECT with proxytunnel to unsupported FTP URL </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1060.
︙ | ︙ | |||
865 866 867 868 869 870 871 872 873 874 875 876 877 878 | <client> <server> http </server> <features> !SSPI crypto </features> <name> HTTP proxy CONNECT auth Digest, large headers and data </name> <command> http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel </command> | > | 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 | <client> <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP proxy CONNECT auth Digest, large headers and data </name> <command> http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1061.
︙ | ︙ | |||
870 871 872 873 874 875 876 877 878 879 880 881 882 883 | <client> <server> http </server> <features> !SSPI crypto </features> <name> HTTP proxy CONNECT auth Digest, large headers and chunked data </name> <command> http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel </command> | > | 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 | <client> <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP proxy CONNECT auth Digest, large headers and chunked data </name> <command> http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1063.
︙ | ︙ | |||
24 25 26 27 28 29 30 | </features> <name> Invalid large X- range on a file:// </name> # This range value is 2**32+7, which will be truncated to the valid value 7 # if the large file support is not working correctly <command> | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | </features> <name> Invalid large X- range on a file:// </name> # This range value is 2**32+7, which will be truncated to the valid value 7 # if the large file support is not working correctly <command> -r 4294967303- file://localhost%FILE_PWD/log/test1063.txt </command> <file name="log/test1063.txt"> 1234567890 1234567890 </file> </client> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1077.
︙ | ︙ | |||
40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # Client-side <client> <server> http </server> <features> ftp </features> <name> FTP over HTTP proxy with downgrade to HTTP 1.0 </name> <command> -x %HOSTIP:%HTTPPORT ftp://%HOSTIP:%HTTPPORT/we/want/that/page/1077 ftp://%HOSTIP:%HTTPPORT/we/want/that/page/10770002 </command> | > | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | # Client-side <client> <server> http </server> <features> ftp proxy </features> <name> FTP over HTTP proxy with downgrade to HTTP 1.0 </name> <command> -x %HOSTIP:%HTTPPORT ftp://%HOSTIP:%HTTPPORT/we/want/that/page/1077 ftp://%HOSTIP:%HTTPPORT/we/want/that/page/10770002 </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1078.
︙ | ︙ | |||
41 42 43 44 45 46 47 48 49 50 51 52 53 54 | </server> <name> HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0 </name> <command> --proxy1.0 %HOSTIP:%PROXYPORT -p http://%HOSTIP.1078:%HTTPPORT/we/want/that/page/1078 http://%HOSTIP.1078:%HTTPPORT/we/want/that/page/1078 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | </server> <name> HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0 </name> <command> --proxy1.0 %HOSTIP:%PROXYPORT -p http://%HOSTIP.1078:%HTTPPORT/we/want/that/page/1078 http://%HOSTIP.1078:%HTTPPORT/we/want/that/page/1078 </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test1087.
︙ | ︙ | |||
76 77 78 79 80 81 82 83 84 85 86 87 88 89 | </server> <name> HTTP, proxy with --anyauth and Location: to new host </name> <command> http://first.host.it.is/we/want/that/page/10871000 -x %HOSTIP:%HTTPPORT --user iam:myself --location --anyauth </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | </server> <name> HTTP, proxy with --anyauth and Location: to new host </name> <command> http://first.host.it.is/we/want/that/page/10871000 -x %HOSTIP:%HTTPPORT --user iam:myself --location --anyauth </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test1088.
︙ | ︙ | |||
77 78 79 80 81 82 83 84 85 86 87 88 89 90 | </server> <name> HTTP, proxy with --anyauth and Location: to new host using location-trusted </name> <command> http://first.host.it.is/we/want/that/page/10881000 -x %HOSTIP:%HTTPPORT --user iam:myself --location-trusted --anyauth </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | </server> <name> HTTP, proxy with --anyauth and Location: to new host using location-trusted </name> <command> http://first.host.it.is/we/want/that/page/10881000 -x %HOSTIP:%HTTPPORT --user iam:myself --location-trusted --anyauth </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test1091.
︙ | ︙ | |||
30 31 32 33 34 35 36 | # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD | | > | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD CWD / CWD tmp CWD moo EPSV TYPE I SIZE 1091 RETR 1091 QUIT </protocol> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1092.
︙ | ︙ | |||
26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # Client-side <client> <server> http </server> <features> ftp </features> <name> FTP with type=i over HTTP proxy </name> <command> "ftp://%HOSTIP:%HTTPPORT/we/want/that/page/1092;type=i" --use-ascii -x %HOSTIP:%HTTPPORT </command> | > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | # Client-side <client> <server> http </server> <features> ftp proxy </features> <name> FTP with type=i over HTTP proxy </name> <command> "ftp://%HOSTIP:%HTTPPORT/we/want/that/page/1092;type=i" --use-ascii -x %HOSTIP:%HTTPPORT </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1098.
︙ | ︙ | |||
25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <client> <server> http </server> <features> http ftp </features> <name> FTP RETR twice over proxy confirming persistent connection </name> <command> ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://%HOSTIP:%HTTPPORT | > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <client> <server> http </server> <features> http ftp proxy </features> <name> FTP RETR twice over proxy confirming persistent connection </name> <command> ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://%HOSTIP:%HTTPPORT |
︙ | ︙ |
Changes to jni/curl/tests/data/test1104.
︙ | ︙ | |||
57 58 59 60 61 62 63 64 65 66 67 68 69 70 | </server> <name> HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970 </name> <command> http://%HOSTIP:%HTTPPORT/want/1104 -L -x %HOSTIP:%HTTPPORT -c log/cookies1104.jar </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | </server> <name> HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970 </name> <command> http://%HOSTIP:%HTTPPORT/want/1104 -L -x %HOSTIP:%HTTPPORT -c log/cookies1104.jar </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1106.
︙ | ︙ | |||
20 21 22 23 24 25 26 27 28 29 30 31 32 33 | </data> </reply> # Client-side <client> <features> ftp </features> <server> http </server> <name> FTP URL and with ftp_proxy environment variable set </name> | > | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | </data> </reply> # Client-side <client> <features> ftp proxy </features> <server> http </server> <name> FTP URL and with ftp_proxy environment variable set </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1136.
︙ | ︙ | |||
29 30 31 32 33 34 35 36 37 38 39 40 41 42 | </data> </reply> # Client-side <client> <features> PSL </features> <server> http </server> <name> Check cookies against PSL </name> | > | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | </data> </reply> # Client-side <client> <features> PSL proxy </features> <server> http </server> <name> Check cookies against PSL </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1141.
︙ | ︙ | |||
43 44 45 46 47 48 49 50 51 52 53 54 55 56 | </server> <name> HTTP redirect to http:/// (three slashes!) </name> <command> %HOSTIP:%HTTPPORT/want/1141 -L -x http://%HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | </server> <name> HTTP redirect to http:/// (three slashes!) </name> <command> %HOSTIP:%HTTPPORT/want/1141 -L -x http://%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1142.
︙ | ︙ | |||
38 39 40 41 42 43 44 45 46 47 48 49 50 51 | </server> <name> HTTP redirect to http://// (four slashes!) </name> <command> %HOSTIP:%HTTPPORT/want/1142 -L -x http://%HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | </server> <name> HTTP redirect to http://// (four slashes!) </name> <command> %HOSTIP:%HTTPPORT/want/1142 -L -x http://%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1149.
︙ | ︙ | |||
53 54 55 56 57 58 59 | CWD path CWD 1149 EPSV TYPE A LIST CWD / EPSV | | | 53 54 55 56 57 58 59 60 61 62 63 64 | CWD path CWD 1149 EPSV TYPE A LIST CWD / EPSV LIST list/this/path/1149 QUIT </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test1150.
︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | </server> <name> HTTP proxy with URLs using different ports </name> <command> --proxy http://%HOSTIP:%HTTPPORT http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> | > > > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | </server> <name> HTTP proxy with URLs using different ports </name> <command> --proxy http://%HOSTIP:%HTTPPORT http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1162.
︙ | ︙ | |||
27 28 29 30 31 32 33 34 35 36 37 38 39 40 | </tool> <name> FTP wildcard with crazy pattern </name> <command> "ftp://%HOSTIP:%FTPPORT/fully_simulated/DOS/[*\\s-'tl" </command> </client> <verify> <protocol> USER anonymous PASS ftp@example.com PWD CWD fully_simulated | > > > > | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | </tool> <name> FTP wildcard with crazy pattern </name> <command> "ftp://%HOSTIP:%FTPPORT/fully_simulated/DOS/[*\\s-'tl" </command> <setenv> # Needed for MSYS2 to not convert backslash to forward slash MSYS2_ARG_CONV_EXCL=ftp:// </setenv> </client> <verify> <protocol> USER anonymous PASS ftp@example.com PWD CWD fully_simulated |
︙ | ︙ |
Added jni/curl/tests/data/test1166.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <testcase> <info> <keywords> HTTP HTTP GET followlocation cookies </keywords> </info> # Server-side <reply> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Set-Cookie: trackyou=want; path=/ Content-Length: 68 This server reply is for testing a Location: following with cookies </data> </reply> # Client-side <client> <server> http </server> <name> HTTP response with cookies but not receiving! </name> <command> http://%HOSTIP:%HTTPPORT/want/1166 http://%HOSTIP:%HTTPPORT/want/1166 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /want/1166 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* GET /want/1166 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test1213.
︙ | ︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | </name> # the thing here is that this sloppy form is accepted and we convert it # for normal server use, and we need to make sure it gets converted to # RFC style even for proxies <command> -x %HOSTIP:%HTTPPORT we.want.that.site.com.1213 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | </name> # the thing here is that this sloppy form is accepted and we convert it # for normal server use, and we need to make sure it gets converted to # RFC style even for proxies <command> -x %HOSTIP:%HTTPPORT we.want.that.site.com.1213 </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1214.
︙ | ︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | </name> # the thing here is that this sloppy form is accepted and we convert it # for normal server use, and we need to make sure it gets converted to # RFC style even for proxies <command> -x %HOSTIP:%HTTPPORT http://we.want.that.site.com.1214?moo=foo </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | </name> # the thing here is that this sloppy form is accepted and we convert it # for normal server use, and we need to make sure it gets converted to # RFC style even for proxies <command> -x %HOSTIP:%HTTPPORT http://we.want.that.site.com.1214?moo=foo </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1215.
︙ | ︙ | |||
56 57 58 59 60 61 62 63 64 65 66 67 68 69 | # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> HTTP with server NTLM authorization using a proxy </name> | > | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | # Client-side <client> <features> NTLM !SSPI debug proxy </features> <server> http </server> <name> HTTP with server NTLM authorization using a proxy </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1216.
︙ | ︙ | |||
35 36 37 38 39 40 41 42 43 44 45 46 47 48 | </command> <file name="log/injar1216"> example.fake FALSE /a FALSE 2139150993 mooo indeed example.fake FALSE /b FALSE 0 moo1 indeed example.fake FALSE /c FALSE 2139150993 moo2 indeed example.fake TRUE /c FALSE 2139150993 moo3 indeed </file> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | </command> <file name="log/injar1216"> example.fake FALSE /a FALSE 2139150993 mooo indeed example.fake FALSE /b FALSE 0 moo1 indeed example.fake FALSE /c FALSE 2139150993 moo2 indeed example.fake TRUE /c FALSE 2139150993 moo3 indeed </file> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1218.
︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | </server> <name> HTTP cookies and domains with same prefix </name> <command> http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x %HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | </server> <name> HTTP cookies and domains with same prefix </name> <command> http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x %HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1220.
︙ | ︙ | |||
17 18 19 20 21 22 23 | <server> file </server> <name> file:// URLs with query string </name> <command option="no-include"> | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <server> file </server> <name> file:// URLs with query string </name> <command option="no-include"> file://localhost%FILE_PWD/log/test1220.txt?a_query=foobar#afragment </command> <file name="log/test1220.txt"> contents in a single file </file> </client> # Verify data after the test has been "shot" |
︙ | ︙ |
Changes to jni/curl/tests/data/test1225.
︙ | ︙ | |||
40 41 42 43 44 45 46 | PWD CWD / CWD foo EPSV TYPE I SIZE 1225 RETR 1225 | < | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | PWD CWD / CWD foo EPSV TYPE I SIZE 1225 RETR 1225 CWD / CWD foo CWD bar EPSV SIZE 1225 RETR 1225 QUIT |
︙ | ︙ |
Changes to jni/curl/tests/data/test1228.
︙ | ︙ | |||
27 28 29 30 31 32 33 34 35 36 37 38 39 40 | </server> <name> HTTP cookie path match </name> <command> http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x %HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | </server> <name> HTTP cookie path match </name> <command> http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x %HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1230.
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 52 | </reply> # # Client-side <client> <features> ipv6 </features> <server> http-proxy http-ipv6 http </server> <name> | > | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | </reply> # # Client-side <client> <features> ipv6 proxy </features> <server> http-proxy http-ipv6 http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1232.
︙ | ︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | </server> <name> HTTP URL with dotdot removal from path using an HTTP proxy </name> <command> --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | </server> <name> HTTP URL with dotdot removal from path using an HTTP proxy </name> <command> --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001 </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test1233.
1 2 3 4 5 6 7 8 9 10 11 | <testcase> <info> <keywords> FTP </keywords> </info> # Server-side <reply> <servercmd> # Assuming there's nothing listening on port 1 | > | 1 2 3 4 5 6 7 8 9 10 11 12 | <testcase> <info> <keywords> FTP connect to non-listen </keywords> </info> # Server-side <reply> <servercmd> # Assuming there's nothing listening on port 1 |
︙ | ︙ |
Changes to jni/curl/tests/data/test1241.
︙ | ︙ | |||
36 37 38 39 40 41 42 43 44 45 46 47 48 49 | </server> <name> HTTP _without_ dotdot removal </name> <command> --path-as-is --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | </server> <name> HTTP _without_ dotdot removal </name> <command> --path-as-is --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001 </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test1246.
︙ | ︙ | |||
36 37 38 39 40 41 42 43 44 45 46 47 48 49 | </server> <name> URL with '#' at end of host name instead of '/' </name> <command> --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1246:%HTTPPORT#@127.0.0.1/tricked.html no-scheme-url.com.1246:%HTTPPORT#@127.127.127.127/again.html </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | </server> <name> URL with '#' at end of host name instead of '/' </name> <command> --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1246:%HTTPPORT#@127.0.0.1/tricked.html no-scheme-url.com.1246:%HTTPPORT#@127.127.127.127/again.html </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test1253.
︙ | ︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | </name> <setenv> NO_PROXY=example.com </setenv> <command> http://somewhere.example.com/1253 --proxy http://%HOSTIP:%HTTPPORT --noproxy %HOSTIP </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | </name> <setenv> NO_PROXY=example.com </setenv> <command> http://somewhere.example.com/1253 --proxy http://%HOSTIP:%HTTPPORT --noproxy %HOSTIP </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1254.
︙ | ︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | </name> <setenv> NO_PROXY=example.com </setenv> <command> http://somewhere.example.com/1254 --proxy http://%HOSTIP:%HTTPPORT --noproxy "" </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | </name> <setenv> NO_PROXY=example.com </setenv> <command> http://somewhere.example.com/1254 --proxy http://%HOSTIP:%HTTPPORT --noproxy "" </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1256.
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <setenv> http_proxy=http://%HOSTIP:%HTTPPORT NO_PROXY=example.com </setenv> <command> http://somewhere.example.com/1256 --noproxy %HOSTIP </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <setenv> http_proxy=http://%HOSTIP:%HTTPPORT NO_PROXY=example.com </setenv> <command> http://somewhere.example.com/1256 --noproxy %HOSTIP </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1257.
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <setenv> http_proxy=http://%HOSTIP:%HTTPPORT NO_PROXY=example.com </setenv> <command> http://somewhere.example.com/1257 --noproxy "" </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <setenv> http_proxy=http://%HOSTIP:%HTTPPORT NO_PROXY=example.com </setenv> <command> http://somewhere.example.com/1257 --noproxy "" </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1287.
︙ | ︙ | |||
56 57 58 59 60 61 62 63 64 65 66 67 68 69 | </server> <name> HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses </name> <command> -v --proxytunnel -x %HOSTIP:%PROXYPORT http://test.1287:%HTTPPORT/we/want/that/page/1287 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | </server> <name> HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses </name> <command> -v --proxytunnel -x %HOSTIP:%PROXYPORT http://test.1287:%HTTPPORT/we/want/that/page/1287 </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test1288.
︙ | ︙ | |||
40 41 42 43 44 45 46 47 48 49 50 51 52 53 | </server> <name> Suppress proxy CONNECT response headers </name> <command> --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy %HOSTIP:%PROXYPORT http://%HOSTIP.1288:%HTTPPORT/we/want/that/page/1288 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | </server> <name> Suppress proxy CONNECT response headers </name> <command> --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy %HOSTIP:%PROXYPORT http://%HOSTIP.1288:%HTTPPORT/we/want/that/page/1288 </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test1314.
︙ | ︙ | |||
52 53 54 55 56 57 58 59 60 61 62 63 64 65 | </server> <name> HTTP Location: following a // prefixed url </name> <command> http://firstplace.example.com/want/1314 -L -x http://%HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> | > > > | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | </server> <name> HTTP Location: following a // prefixed url </name> <command> http://firstplace.example.com/want/1314 -L -x http://%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1319.
︙ | ︙ | |||
46 47 48 49 50 51 52 53 54 55 56 57 58 59 | <client> <server> pop3 http-proxy </server> <features> http </features> <name> POP3 fetch tunneled through HTTP proxy </name> <command> pop3://pop.1319:%POP3PORT/1319 -p -x %HOSTIP:%PROXYPORT -u user:secret </command> | > | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | <client> <server> pop3 http-proxy </server> <features> http proxy </features> <name> POP3 fetch tunneled through HTTP proxy </name> <command> pop3://pop.1319:%POP3PORT/1319 -p -x %HOSTIP:%PROXYPORT -u user:secret </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1320.
︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <client> <server> smtp http-proxy </server> <features> http </features> <name> SMTP send tunneled through HTTP proxy </name> <stdin> From: different To: another | > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <client> <server> smtp http-proxy </server> <features> http proxy </features> <name> SMTP send tunneled through HTTP proxy </name> <stdin> From: different To: another |
︙ | ︙ |
Changes to jni/curl/tests/data/test1321.
︙ | ︙ | |||
42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <client> <server> imap http-proxy </server> <features> http </features> <name> IMAP FETCH tunneled through HTTP proxy </name> <command> 'imap://imap.1321:%IMAPPORT/1321/;MAILINDEX=1' -u user:secret -p -x %HOSTIP:%PROXYPORT </command> | > | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <client> <server> imap http-proxy </server> <features> http proxy </features> <name> IMAP FETCH tunneled through HTTP proxy </name> <command> 'imap://imap.1321:%IMAPPORT/1321/;MAILINDEX=1' -u user:secret -p -x %HOSTIP:%PROXYPORT </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1329.
︙ | ︙ | |||
13 14 15 16 17 18 19 20 21 22 23 24 25 26 | </server> <name> /-prefixed proxy name </name> <command> http://%HOSTIP:%HTTPPORT/we/want/that/page/1329 -x "/server" </command> </client> # # Verify data after the test has been "shot" <verify> # 5 == CURLE_COULDNT_RESOLVE_PROXY <errorcode> | > > > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | </server> <name> /-prefixed proxy name </name> <command> http://%HOSTIP:%HTTPPORT/we/want/that/page/1329 -x "/server" </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> # 5 == CURLE_COULDNT_RESOLVE_PROXY <errorcode> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1331.
︙ | ︙ | |||
60 61 62 63 64 65 66 67 68 69 70 71 72 73 | </server> <name> HTTP --proxy-anyauth and 407 with cookies </name> <command> -U myname:mypassword -x %HOSTIP:%HTTPPORT http://z.x.com/1331 --proxy-anyauth -c log/dump1331 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </server> <name> HTTP --proxy-anyauth and 407 with cookies </name> <command> -U myname:mypassword -x %HOSTIP:%HTTPPORT http://z.x.com/1331 --proxy-anyauth -c log/dump1331 </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1415.
︙ | ︙ | |||
42 43 44 45 46 47 48 49 50 51 52 53 54 55 | </name> <setenv> TZ=GMT </setenv> <command> http://example.com/we/want/1415 -b none -c log/jar1415.txt -x %HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | </name> <setenv> TZ=GMT </setenv> <command> http://example.com/we/want/1415 -b none -c log/jar1415.txt -x %HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1421.
︙ | ︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | </server> <name> Re-using HTTP proxy connection for two different host names </name> <command> --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 </command> </client> # # Verify data after the test has been "shot" <verify> <stdout> HTTP/1.1 200 OK | > > > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | </server> <name> Re-using HTTP proxy connection for two different host names </name> <command> --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <stdout> HTTP/1.1 200 OK |
︙ | ︙ |
Changes to jni/curl/tests/data/test1428.
︙ | ︙ | |||
48 49 50 51 52 53 54 55 56 57 58 59 60 61 | </server> <name> HTTP over proxy-tunnel with --proxy-header and --header </name> <command> http://test.1428:%HTTPPORT/we/want/that/page/1428 -p -x %HOSTIP:%PROXYPORT --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | </server> <name> HTTP over proxy-tunnel with --proxy-header and --header </name> <command> http://test.1428:%HTTPPORT/we/want/that/page/1428 -p -x %HOSTIP:%PROXYPORT --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test143.
︙ | ︙ | |||
28 29 30 31 32 33 34 | # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD | | > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD CWD / CWD tmp CWD moo EPSV TYPE A SIZE 143 RETR 143 QUIT </protocol> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1445.
︙ | ︙ | |||
17 18 19 20 21 22 23 | <precheck> perl %SRCDIR/libtest/test613.pl prepare %PWD/log/test1445.dir </precheck> <name> file:// with --remote-time </name> <command> | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <precheck> perl %SRCDIR/libtest/test613.pl prepare %PWD/log/test1445.dir </precheck> <name> file:// with --remote-time </name> <command> file://localhost%FILE_PWD/log/test1445.dir/plainfile.txt --remote-time </command> <postcheck> perl %SRCDIR/libtest/test613.pl postprocess %PWD/log/test1445.dir && \ perl -e 'exit((stat("log/curl1445.out"))[9] != 946728000)' </postcheck> </client> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1447.
︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # Client-side <client> <server> none </server> <features> http </features> <name> Provide illegal proxy name </name> <command> --proxy "http://a:b@/x" http://%HOSTIP:%HTTPPORT </command> | > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | # Client-side <client> <server> none </server> <features> http proxy </features> <name> Provide illegal proxy name </name> <command> --proxy "http://a:b@/x" http://%HOSTIP:%HTTPPORT </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1455.
︙ | ︙ | |||
35 36 37 38 39 40 41 42 43 44 45 46 47 48 | </server> <name> HTTP GET when PROXY Protocol enabled </name> <command> http://%HOSTIP:%HTTPPORT/1455 --haproxy-protocol </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | </server> <name> HTTP GET when PROXY Protocol enabled </name> <command> http://%HOSTIP:%HTTPPORT/1455 --haproxy-protocol </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test1456.
︙ | ︙ | |||
38 39 40 41 42 43 44 45 46 47 48 49 50 51 | </server> <name> HTTP-IPv6 GET with PROXY protocol </name> <command> -g "http://%HOST6IP:%HTTP6PORT/1456" --local-port 44444 --haproxy-protocol </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: | > > > | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | </server> <name> HTTP-IPv6 GET with PROXY protocol </name> <command> -g "http://%HOST6IP:%HTTP6PORT/1456" --local-port 44444 --haproxy-protocol </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: |
︙ | ︙ |
Changes to jni/curl/tests/data/test1509.
︙ | ︙ | |||
49 50 51 52 53 54 55 | http http-proxy </server> # tool is what to use instead of 'curl' <tool> lib1509 </tool> | | > > | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | http http-proxy </server> # tool is what to use instead of 'curl' <tool> lib1509 </tool> <features> proxy </features> <name> simple multi http:// through proxytunnel with authentication info </name> <command> http://the.old.moo.1509:%HTTPPORT/1509 %HOSTIP:%PROXYPORT </command> <file name="log/test1509.txt"> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1525.
︙ | ︙ | |||
45 46 47 48 49 50 51 52 53 54 55 56 57 58 | </tool> <name> CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED </name> <command> http://the.old.moo.1525:%HTTPPORT/1525 %HOSTIP:%PROXYPORT </command> </client> # Verify data after the test has been "shot" <verify> <proxy> CONNECT the.old.moo.1525:%HTTPPORT HTTP/1.1 Host: the.old.moo.1525:%HTTPPORT | > > > | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | </tool> <name> CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED </name> <command> http://the.old.moo.1525:%HTTPPORT/1525 %HOSTIP:%PROXYPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <proxy> CONNECT the.old.moo.1525:%HTTPPORT HTTP/1.1 Host: the.old.moo.1525:%HTTPPORT |
︙ | ︙ |
Changes to jni/curl/tests/data/test1526.
︙ | ︙ | |||
47 48 49 50 51 52 53 54 55 56 57 58 59 60 | </tool> <name> CURLOPT_PROXYHEADER: separate host/proxy headers </name> <command> http://the.old.moo.1526:%HTTPPORT/1526 %HOSTIP:%PROXYPORT </command> </client> # Verify data after the test has been "shot" <verify> <proxy> CONNECT the.old.moo.1526:%HTTPPORT HTTP/1.1 Host: the.old.moo.1526:%HTTPPORT | > > > | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | </tool> <name> CURLOPT_PROXYHEADER: separate host/proxy headers </name> <command> http://the.old.moo.1526:%HTTPPORT/1526 %HOSTIP:%PROXYPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <proxy> CONNECT the.old.moo.1526:%HTTPPORT HTTP/1.1 Host: the.old.moo.1526:%HTTPPORT |
︙ | ︙ |
Changes to jni/curl/tests/data/test1527.
︙ | ︙ | |||
46 47 48 49 50 51 52 53 54 55 56 57 58 59 | </tool> <name> Check same headers are generated with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED </name> <command> http://the.old.moo.1527:%HTTPPORT/1527 %HOSTIP:%PROXYPORT </command> </client> # Verify data after the test has been "shot" <verify> <proxy> CONNECT the.old.moo.1527:%HTTPPORT HTTP/1.1 Host: the.old.moo.1527:%HTTPPORT | > > > | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | </tool> <name> Check same headers are generated with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED </name> <command> http://the.old.moo.1527:%HTTPPORT/1527 %HOSTIP:%PROXYPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <proxy> CONNECT the.old.moo.1527:%HTTPPORT HTTP/1.1 Host: the.old.moo.1527:%HTTPPORT |
︙ | ︙ |
Changes to jni/curl/tests/data/test1528.
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 52 | </tool> <name> Separately specified proxy/server headers sent in a proxy GET </name> <command> http://the.old.moo:%HTTPPORT/1528 %HOSTIP:%PROXYPORT </command> </client> # Verify data after the test has been "shot" <verify> <proxy> GET http://the.old.moo:%HTTPPORT/1528 HTTP/1.1 Host: the.old.moo:%HTTPPORT | > > > | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | </tool> <name> Separately specified proxy/server headers sent in a proxy GET </name> <command> http://the.old.moo:%HTTPPORT/1528 %HOSTIP:%PROXYPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <proxy> GET http://the.old.moo:%HTTPPORT/1528 HTTP/1.1 Host: the.old.moo:%HTTPPORT |
︙ | ︙ |
Changes to jni/curl/tests/data/test1529.
︙ | ︙ | |||
27 28 29 30 31 32 33 34 35 36 37 38 39 40 | </tool> <name> HTTP request-injection in URL sent over proxy </name> <command> "http://the.old.moo:%HTTPPORT/1529" %HOSTIP:%PROXYPORT </command> </client> # it should be detected and an error should be reported <verify> # 3 == CURLE_URL_MALFORMAT <errorcode> 3 | > > > | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | </tool> <name> HTTP request-injection in URL sent over proxy </name> <command> "http://the.old.moo:%HTTPPORT/1529" %HOSTIP:%PROXYPORT </command> <features> proxy </features> </client> # it should be detected and an error should be reported <verify> # 3 == CURLE_URL_MALFORMAT <errorcode> 3 |
︙ | ︙ |
Changes to jni/curl/tests/data/test1591.
︙ | ︙ | |||
15 16 17 18 19 20 21 | Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake </data> </reply> # Client-side <client> <features> | < > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake </data> </reply> # Client-side <client> <features> http </features> <server> http </server> <name> HTTP PUT with trailers at the end </name> |
︙ | ︙ |
Added jni/curl/tests/data/test1595.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <testcase> <info> <keywords> HTTP HTTP GET HTTP replaced headers CURLOPT_TIMECONDITION If-Modified-Since </keywords> </info> # Server-side <reply> <data nocheck="yes"> HTTP/1.1 503 Error Date: Thu, 11 Jul 2019 02:26:59 GMT Server: test-server/swsclose </data> </reply> # Client-side <client> <server> http </server> <name> HTTP Retry-After header extraction (without header) </name> <tool> lib1594 </tool> <command> http://%HOSTIP:%HTTPPORT/1595 </command> </client> <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /1595 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <stdout> Retry-After: 0 </stdout> </verify> </testcase> |
Added jni/curl/tests/data/test1596.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <testcase> <info> <keywords> HTTP HTTP GET HTTP replaced headers CURLOPT_TIMECONDITION If-Modified-Since </keywords> </info> # Server-side <reply> <data nocheck="yes"> HTTP/1.1 429 Too Many Requests Date: Thu, 11 Jul 2019 02:26:59 GMT Server: test-server/swsclose Retry-After: Thu, 11 Jul 2024 02:26:59 GMT </data> </reply> # Client-side <client> <server> http </server> <name> HTTP Retry-After header parsing using a date </name> <tool> lib1596 </tool> <command> http://%HOSTIP:%HTTPPORT/1596 </command> </client> <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /1596 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <stdout> Retry-After: 172066 </stdout> </verify> </testcase> |
Changes to jni/curl/tests/data/test16.
︙ | ︙ | |||
29 30 31 32 33 34 35 36 37 38 39 40 41 42 | </server> <name> HTTP with proxy authorization </name> <command> -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x %HOSTIP:%HTTPPORT http://we.want.that.site.com/16 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | </server> <name> HTTP with proxy authorization </name> <command> -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x %HOSTIP:%HTTPPORT http://we.want.that.site.com/16 </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test162.
︙ | ︙ | |||
24 25 26 27 28 29 30 31 32 33 34 35 36 37 | </reply> # Client-side <client> <features> NTLM !SSPI </features> <server> http </server> <name> HTTP GET asking for --proxy-ntlm when some other authentication is required </name> | > | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | </reply> # Client-side <client> <features> NTLM !SSPI proxy </features> <server> http </server> <name> HTTP GET asking for --proxy-ntlm when some other authentication is required </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test165.
︙ | ︙ | |||
25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # Client-side <client> <server> http </server> <features> idn </features> <setenv> LC_ALL= LC_CTYPE=en_US.UTF-8 </setenv> <precheck> perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' | > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # Client-side <client> <server> http </server> <features> idn proxy </features> <setenv> LC_ALL= LC_CTYPE=en_US.UTF-8 </setenv> <precheck> perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' |
︙ | ︙ |
Changes to jni/curl/tests/data/test1654.
︙ | ︙ | |||
49 50 51 52 53 54 55 56 57 58 | h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 1 h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 1 h1 example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0 h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0 h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0 h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0 h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0 </file> </verify> </testcase> | > | 49 50 51 52 53 54 55 56 57 58 59 | h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 1 h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 1 h1 example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0 h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0 h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0 h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0 h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0 h2 example.net 80 h2 example.net 443 "20190124 22:37:21" 0 0 </file> </verify> </testcase> |
Added jni/curl/tests/data/test1655.
> > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <testcase> <info> <keywords> unittest doh </keywords> </info> # # Client-side <client> <server> none </server> <features> unittest </features> <name> unit test for doh_encode </name> <tool> unit1655 </tool> </client> </testcase> |
Changes to jni/curl/tests/data/test167.
︙ | ︙ | |||
41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <client> <server> http </server> <features> !SSPI crypto </features> <name> HTTP with proxy-requiring-Basic to site-requiring-Digest </name> <command> http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --digest --user digest:alot </command> | > | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <client> <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP with proxy-requiring-Basic to site-requiring-Digest </name> <command> http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --digest --user digest:alot </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test168.
︙ | ︙ | |||
55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <client> <server> http </server> <features> !SSPI crypto </features> <name> HTTP with proxy-requiring-Digest to site-requiring-Digest </name> <command> http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-digest --digest --user digest:alot </command> | > | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <client> <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP with proxy-requiring-Digest to site-requiring-Digest </name> <command> http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-digest --digest --user digest:alot </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test169.
︙ | ︙ | |||
75 76 77 78 79 80 81 82 83 84 85 86 87 88 | <server> http </server> <features> NTLM !SSPI debug </features> <name> HTTP with proxy-requiring-NTLM to site-requiring-Digest </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP with proxy-requiring-NTLM to site-requiring-Digest </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test170.
︙ | ︙ | |||
16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <client> <server> http </server> <features> NTLM !SSPI </features> <name> HTTP POST with --proxy-ntlm and no SSL with no response </name> <command> http://a.galaxy.far.far.away/170 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -F "dummy=value" </command> | > | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <client> <server> http </server> <features> NTLM !SSPI proxy </features> <name> HTTP POST with --proxy-ntlm and no SSL with no response </name> <command> http://a.galaxy.far.far.away/170 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -F "dummy=value" </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test171.
︙ | ︙ | |||
29 30 31 32 33 34 35 36 37 38 39 40 41 42 | </server> <name> HTTP, get cookie with dot prefixed full domain </name> <command> -c log/jar171 -x %HOSTIP:%HTTPPORT http://z.x.com/171 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | </server> <name> HTTP, get cookie with dot prefixed full domain </name> <command> -c log/jar171 -x %HOSTIP:%HTTPPORT http://z.x.com/171 </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test179.
︙ | ︙ | |||
34 35 36 37 38 39 40 41 42 43 44 45 46 47 | http://supertrooper.fake/c/179 -b log/injar179 -x %HOSTIP:%HTTPPORT </command> <file name="log/injar179"> supertrooper.fake FALSE /a FALSE 2139150993 mooo indeed supertrooper.fake FALSE /b FALSE 0 moo1 indeed supertrooper.fake FALSE /c FALSE 2139150993 moo2 indeed </file> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | http://supertrooper.fake/c/179 -b log/injar179 -x %HOSTIP:%HTTPPORT </command> <file name="log/injar179"> supertrooper.fake FALSE /a FALSE 2139150993 mooo indeed supertrooper.fake FALSE /b FALSE 0 moo1 indeed supertrooper.fake FALSE /c FALSE 2139150993 moo2 indeed </file> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test183.
︙ | ︙ | |||
26 27 28 29 30 31 32 33 34 35 36 37 38 39 | </server> <name> HTTP GET two URLs over a single proxy with persistent connection </name> <command> http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://%HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> | > > > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | </server> <name> HTTP GET two URLs over a single proxy with persistent connection </name> <command> http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test184.
︙ | ︙ | |||
46 47 48 49 50 51 52 53 54 55 56 57 58 59 | </server> <name> HTTP replace Host: when following Location: to new host </name> <command> http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> | > > > | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | </server> <name> HTTP replace Host: when following Location: to new host </name> <command> http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test185.
︙ | ︙ | |||
46 47 48 49 50 51 52 53 54 55 56 57 58 59 | </server> <name> HTTP replace Host: when following Location: on the same host </name> <command> http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> | > > > | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | </server> <name> HTTP replace Host: when following Location: on the same host </name> <command> http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test19.
︙ | ︙ | |||
20 21 22 23 24 25 26 | <features> http </features> <name> attempt connect to non-listening socket </name> <command> | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <features> http </features> <name> attempt connect to non-listening socket </name> <command> %HOSTIP:2 </command> </client> # Verify data after the test has been "shot" <verify> <errorcode> 7 |
︙ | ︙ |
Changes to jni/curl/tests/data/test1904.
︙ | ︙ | |||
49 50 51 52 53 54 55 56 57 58 59 60 61 62 | </server> <name> HTTP CONNECT with 204 response </name> <command> http://test.1904:%HTTPPORT/we/want/that/page/1904 -p --proxy %HOSTIP:%PROXYPORT </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | </server> <name> HTTP CONNECT with 204 response </name> <command> http://test.1904:%HTTPPORT/we/want/that/page/1904 -p --proxy %HOSTIP:%PROXYPORT </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Added jni/curl/tests/data/test1907.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <testcase> <info> <keywords> CURLINFO_EFFECTIVE_URL </keywords> </info> # Server-side <reply> <data nocheck="yes"> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Funny-head: yesyes swsclose Content-Length: 0 </data> </reply> # Client-side <client> <server> http </server> <name> CURLINFO_EFFECTIVE_URL with non-scheme URL </name> <tool> lib1907 </tool> <command> %HOSTIP:%HTTPPORT/hello/../1907 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /1907 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <stdout> Effective URL: http://%HOSTIP:%HTTPPORT/1907 </stdout> </verify> </testcase> |
Changes to jni/curl/tests/data/test200.
︙ | ︙ | |||
20 21 22 23 24 25 26 | <server> file </server> <name> basic file:// file </name> <command option="no-include"> | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <server> file </server> <name> basic file:// file </name> <command option="no-include"> file://localhost%FILE_PWD/log/test200.txt </command> <file name="log/test200.txt"> foo bar bar foo moo |
︙ | ︙ |
Changes to jni/curl/tests/data/test2000.
︙ | ︙ | |||
28 29 30 31 32 33 34 | ftp file </server> <name> FTP RETR followed by FILE </name> <command option="no-include"> | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | ftp file </server> <name> FTP RETR followed by FILE </name> <command option="no-include"> ftp://%HOSTIP:%FTPPORT/2000 file://localhost%FILE_PWD/log/test2000.txt </command> <file name="log/test2000.txt"> foo bar bar foo moo |
︙ | ︙ |
Changes to jni/curl/tests/data/test2001.
︙ | ︙ | |||
45 46 47 48 49 50 51 | ftp file </server> <name> HTTP GET followed by FTP RETR followed by FILE </name> <command option="no-include"> | | | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | ftp file </server> <name> HTTP GET followed by FTP RETR followed by FILE </name> <command option="no-include"> http://%HOSTIP:%HTTPPORT/20010001 ftp://%HOSTIP:%FTPPORT/20010002 file://localhost%FILE_PWD/log/test2001.txt </command> <file name="log/test2001.txt"> foo bar bar foo moo |
︙ | ︙ |
Changes to jni/curl/tests/data/test2002.
︙ | ︙ | |||
54 55 56 57 58 59 60 | file tftp </server> <name> HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ </name> <command option="no-include"> | | | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | file tftp </server> <name> HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ </name> <command option="no-include"> http://%HOSTIP:%HTTPPORT/20020001 ftp://%HOSTIP:%FTPPORT/20020002 file://localhost%FILE_PWD/log/test2002.txt tftp://%HOSTIP:%TFTPPORT//20020003 </command> <file name="log/test2002.txt"> foo bar bar foo moo |
︙ | ︙ |
Changes to jni/curl/tests/data/test2003.
︙ | ︙ | |||
54 55 56 57 58 59 60 | file tftp </server> <name> HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ then again in reverse order </name> <command option="no-include"> | | | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | file tftp </server> <name> HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ then again in reverse order </name> <command option="no-include"> http://%HOSTIP:%HTTPPORT/20030001 ftp://%HOSTIP:%FTPPORT/20030002 file://localhost%FILE_PWD/log/test2003.txt tftp://%HOSTIP:%TFTPPORT//20030003 tftp://%HOSTIP:%TFTPPORT//20030003 file://localhost%FILE_PWD/log/test2003.txt ftp://%HOSTIP:%FTPPORT/20030002 http://%HOSTIP:%HTTPPORT/20030001 </command> <file name="log/test2003.txt"> foo bar bar foo moo |
︙ | ︙ |
Changes to jni/curl/tests/data/test2004.
︙ | ︙ | |||
26 27 28 29 30 31 32 | tftp sftp </server> <name> TFTP RRQ followed by SFTP retrieval followed by FILE followed by SCP retrieval then again in reverse order </name> <command option="no-include"> | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | tftp sftp </server> <name> TFTP RRQ followed by SFTP retrieval followed by FILE followed by SCP retrieval then again in reverse order </name> <command option="no-include"> --key curl_client_key --pubkey curl_client_key.pub -u %USER: tftp://%HOSTIP:%TFTPPORT//2004 sftp://%HOSTIP:%SSHPORT%POSIX_PWD/log/test2004.txt file://localhost%FILE_PWD/log/test2004.txt scp://%HOSTIP:%SSHPORT%POSIX_PWD/log/test2004.txt file://localhost%FILE_PWD/log/test2004.txt sftp://%HOSTIP:%SSHPORT%POSIX_PWD/log/test2004.txt tftp://%HOSTIP:%TFTPPORT//2004 --insecure </command> <file name="log/test2004.txt"> This is test data for several protocols </file> </client> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2005.
︙ | ︙ | |||
74 75 76 77 78 79 80 | </protocol> <file1 name="log/download2005"> Data delivered from an HTTP resource </file1> <file2 name="log/stdout2005"> </file2> | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | </protocol> <file1 name="log/download2005"> Data delivered from an HTTP resource </file1> <file2 name="log/stdout2005"> </file2> <file3 name="log/stderr2005" mode="text"> Metalink: parsing (file://%PWD/log/test2005.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2005.metalink) OK Metalink: fetching (log/download2005) from (http://%HOSTIP:%HTTPPORT/2005)... Metalink: fetching (log/download2005) from (http://%HOSTIP:%HTTPPORT/2005) OK Metalink: validating (log/download2005)... Metalink: validating (log/download2005) [sha-256] OK </file3> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2006.
︙ | ︙ | |||
94 95 96 97 98 99 100 | Content-Type: text/html Content-Disposition: filename=name2006; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2006"> </file3> | | | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | Content-Type: text/html Content-Disposition: filename=name2006; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2006"> </file3> <file4 name="log/stderr2006" mode="text"> Metalink: parsing (file://%PWD/log/test2006.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2006.metalink) OK Metalink: fetching (log/download2006) from (http://%HOSTIP:%HTTPPORT/2006)... Metalink: fetching (log/download2006) from (http://%HOSTIP:%HTTPPORT/2006) OK Metalink: validating (log/download2006)... Metalink: validating (log/download2006) [sha-256] OK </file4> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2007.
︙ | ︙ | |||
98 99 100 101 102 103 104 | Content-Type: text/html Content-Disposition: filename=name2007; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2007"> </file3> | | | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | Content-Type: text/html Content-Disposition: filename=name2007; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2007"> </file3> <file4 name="log/stderr2007" mode="text"> Metalink: parsing (file://%PWD/log/test2007.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2007.metalink) OK Metalink: fetching (log/download2007) from (http://%HOSTIP:%HTTPPORT/2007)... Metalink: fetching (log/download2007) from (http://%HOSTIP:%HTTPPORT/2007) OK Metalink: validating (log/download2007)... Metalink: validating (log/download2007) [sha-256] OK </file4> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2008.
︙ | ︙ | |||
90 91 92 93 94 95 96 | Content-Type: text/html Content-Disposition: filename=name2008; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2008"> </file3> | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | Content-Type: text/html Content-Disposition: filename=name2008; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2008"> </file3> <file4 name="log/stderr2008" mode="text"> Metalink: parsing (file://%PWD/log/test2008.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2008.metalink) OK Metalink: fetching (log/download2008) from (http://%HOSTIP:%HTTPPORT/2008)... Metalink: fetching (log/download2008) from (http://%HOSTIP:%HTTPPORT/2008) OK Metalink: validating (log/download2008)... Metalink: validating (log/download2008) [sha-256] OK </file4> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2009.
︙ | ︙ | |||
91 92 93 94 95 96 97 | Content-Type: text/html Content-Disposition: filename=name2009; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2009"> </file3> | | | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | Content-Type: text/html Content-Disposition: filename=name2009; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2009"> </file3> <file4 name="log/stderr2009" mode="text"> Metalink: parsing (file://%PWD/log/test2009.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2009.metalink) OK Metalink: fetching (log/download2009) from (http://%HOSTIP:%HTTPPORT/2009)... Metalink: fetching (log/download2009) from (http://%HOSTIP:%HTTPPORT/2009) OK Metalink: validating (log/download2009)... Metalink: validating (log/download2009) [sha-256] OK </file4> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2010.
︙ | ︙ | |||
90 91 92 93 94 95 96 | Content-Type: text/html Content-Disposition: filename=name2010; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2010"> </file3> | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | Content-Type: text/html Content-Disposition: filename=name2010; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2010"> </file3> <file4 name="log/stderr2010" mode="text"> Metalink: parsing (file://%PWD/log/test2010.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2010.metalink) OK Metalink: fetching (log/download2010) from (http://%HOSTIP:%HTTPPORT/2010)... Metalink: fetching (log/download2010) from (http://%HOSTIP:%HTTPPORT/2010) OK Metalink: validating (log/download2010)... Metalink: validating (log/download2010) [sha-256] OK </file4> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2011.
︙ | ︙ | |||
74 75 76 77 78 79 80 | </protocol> <file1 name="log/download2011"> Data delivered from an HTTP resource </file1> <file2 name="log/stdout2011"> </file2> | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | </protocol> <file1 name="log/download2011"> Data delivered from an HTTP resource </file1> <file2 name="log/stdout2011"> </file2> <file3 name="log/stderr2011" mode="text"> Metalink: parsing (file://%PWD/log/test2011.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2011.metalink) OK Metalink: fetching (log/download2011) from (http://%HOSTIP:%HTTPPORT/2011)... Metalink: fetching (log/download2011) from (http://%HOSTIP:%HTTPPORT/2011) OK Metalink: validating (log/download2011)... Metalink: validating (log/download2011) [sha-256] FAILED (digest mismatch) </file3> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2012.
︙ | ︙ | |||
73 74 75 76 77 78 79 | </protocol> <file1 name="log/download2012"> Some contents delivered from an HTTP resource </file1> <file2 name="log/stdout2012"> </file2> | | | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | </protocol> <file1 name="log/download2012"> Some contents delivered from an HTTP resource </file1> <file2 name="log/stdout2012"> </file2> <file3 name="log/stderr2012" mode="text"> Metalink: parsing (file://%PWD/log/test2012.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2012.metalink) WARNING (digest missing) Metalink: fetching (log/download2012) from (http://%HOSTIP:%HTTPPORT/2012)... Metalink: fetching (log/download2012) from (http://%HOSTIP:%HTTPPORT/2012) OK Metalink: validating (log/download2012)... Metalink: validating (log/download2012) FAILED (digest missing) </file3> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2013.
︙ | ︙ | |||
62 63 64 65 66 67 68 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2013"> </file1> | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2013"> </file1> <file2 name="log/stderr2013" mode="text"> Metalink: parsing (file://%PWD/log/test2013.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2013.metalink) WARNING (missing or invalid file name) Metalink: parsing (file://%PWD/log/test2013.metalink) FAILED </file2> <stripfile2> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2014.
︙ | ︙ | |||
62 63 64 65 66 67 68 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2014"> </file1> | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2014"> </file1> <file2 name="log/stderr2014" mode="text"> Metalink: parsing (file://%PWD/log/test2014.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2014.metalink) WARNING (missing or invalid file name) Metalink: parsing (file://%PWD/log/test2014.metalink) FAILED </file2> <stripfile2> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2015.
︙ | ︙ | |||
62 63 64 65 66 67 68 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2015"> </file1> | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2015"> </file1> <file2 name="log/stderr2015" mode="text"> Metalink: parsing (file://%PWD/log/test2015.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2015.metalink) WARNING (missing or invalid file name) Metalink: parsing (file://%PWD/log/test2015.metalink) FAILED </file2> <stripfile2> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2016.
︙ | ︙ | |||
62 63 64 65 66 67 68 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2016"> </file1> | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2016"> </file1> <file2 name="log/stderr2016" mode="text"> Metalink: parsing (file://%PWD/log/test2016.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2016.metalink) WARNING (missing or invalid file name) Metalink: parsing (file://%PWD/log/test2016.metalink) FAILED </file2> <stripfile2> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2017.
︙ | ︙ | |||
62 63 64 65 66 67 68 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2017"> </file1> | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2017"> </file1> <file2 name="log/stderr2017" mode="text"> Metalink: parsing (file://%PWD/log/test2017.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2017.metalink) WARNING (missing or invalid file name) Metalink: parsing (file://%PWD/log/test2017.metalink) FAILED </file2> <stripfile2> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2018.
︙ | ︙ | |||
62 63 64 65 66 67 68 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2018"> </file1> | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2018"> </file1> <file2 name="log/stderr2018" mode="text"> Metalink: parsing (file://%PWD/log/test2018.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2018.metalink) WARNING (missing or invalid file name) Metalink: parsing (file://%PWD/log/test2018.metalink) FAILED </file2> <stripfile2> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2019.
︙ | ︙ | |||
62 63 64 65 66 67 68 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2019"> </file1> | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2019"> </file1> <file2 name="log/stderr2019" mode="text"> Metalink: parsing (file://%PWD/log/test2019.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2019.metalink) WARNING (missing or invalid file name) Metalink: parsing (file://%PWD/log/test2019.metalink) FAILED </file2> <stripfile2> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> |
︙ | ︙ |
Changes to jni/curl/tests/data/test202.
︙ | ︙ | |||
16 17 18 19 20 21 22 | <server> file </server> <name> two file:// URLs to stdout </name> <command option="no-include"> | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <server> file </server> <name> two file:// URLs to stdout </name> <command option="no-include"> file://localhost%FILE_PWD/log/test202.txt FILE://localhost%FILE_PWD/log/test202.txt </command> <file name="log/test202.txt"> contents in a single file </file> </client> # Verify data after the test has been "shot" |
︙ | ︙ |
Changes to jni/curl/tests/data/test2020.
︙ | ︙ | |||
62 63 64 65 66 67 68 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2020"> </file1> | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2020"> </file1> <file2 name="log/stderr2020" mode="text"> Metalink: parsing (file://%PWD/log/test2020.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2020.metalink) WARNING (missing or invalid file name) Metalink: parsing (file://%PWD/log/test2020.metalink) FAILED </file2> <stripfile2> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2021.
︙ | ︙ | |||
62 63 64 65 66 67 68 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2021"> </file1> | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2021"> </file1> <file2 name="log/stderr2021" mode="text"> Metalink: parsing (file://%PWD/log/test2021.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2021.metalink) WARNING (missing or invalid file name) Metalink: parsing (file://%PWD/log/test2021.metalink) FAILED </file2> <stripfile2> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2022.
︙ | ︙ | |||
62 63 64 65 66 67 68 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2022"> </file1> | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </client> # # Verify data after the test has been "shot" <verify> <file1 name="log/stdout2022"> </file1> <file2 name="log/stderr2022" mode="text"> Metalink: parsing (file://%PWD/log/test2022.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2022.metalink) WARNING (missing or invalid file name) Metalink: parsing (file://%PWD/log/test2022.metalink) FAILED </file2> <stripfile2> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> |
︙ | ︙ |
Changes to jni/curl/tests/data/test204.
︙ | ︙ | |||
12 13 14 15 16 17 18 | <server> file </server> <name> "upload" with file:// </name> <command option="no-include"> | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <server> file </server> <name> "upload" with file:// </name> <command option="no-include"> file://localhost%FILE_PWD/log/result204.txt -T log/upload204.txt </command> <file name="log/upload204.txt"> data in file to write |
︙ | ︙ |
Changes to jni/curl/tests/data/test2050.
︙ | ︙ | |||
49 50 51 52 53 54 55 56 57 58 59 60 61 62 | <name> Connect to specific host via HTTP proxy (switch to tunnel mode automatically) </name> <command> http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:%HTTPPORT -x %HOSTIP:%PROXYPORT </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <name> Connect to specific host via HTTP proxy (switch to tunnel mode automatically) </name> <command> http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:%HTTPPORT -x %HOSTIP:%PROXYPORT </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test2055.
︙ | ︙ | |||
47 48 49 50 51 52 53 | http http-proxy socks5 </server> <name> Connect to specific host via SOCKS proxy and HTTP proxy (switch to tunnel mode automatically) </name> | | > > | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | http http-proxy socks5 </server> <name> Connect to specific host via SOCKS proxy and HTTP proxy (switch to tunnel mode automatically) </name> <features> proxy </features> <command> http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:%HTTPPORT -x %HOSTIP:%PROXYPORT --preproxy socks5://%HOSTIP:%SOCKSPORT </command> </client> # # Verify data after the test has been "shot" |
︙ | ︙ |
Changes to jni/curl/tests/data/test2058.
︙ | ︙ | |||
62 63 64 65 66 67 68 69 70 71 72 73 74 75 | # <server> http </server> <features> !SSPI crypto </features> <name> HTTP POST --digest with PUT, resumed upload, modified method and SHA-256 </name> <command> http://%HOSTIP:%HTTPPORT/2058 -u auser:apasswd --digest -T log/2058 -x http://%HOSTIP:%HTTPPORT -C 2 -X GET </command> | > | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP POST --digest with PUT, resumed upload, modified method and SHA-256 </name> <command> http://%HOSTIP:%HTTPPORT/2058 -u auser:apasswd --digest -T log/2058 -x http://%HOSTIP:%HTTPPORT -C 2 -X GET </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2059.
︙ | ︙ | |||
62 63 64 65 66 67 68 69 70 71 72 73 74 75 | # <server> http </server> <features> !SSPI crypto </features> <name> HTTP POST --digest with PUT, resumed upload, modified method, SHA-512-256 and userhash=true </name> <command> http://%HOSTIP:%HTTPPORT/2059 -u auser:apasswd --digest -T log/2059 -x http://%HOSTIP:%HTTPPORT -C 2 -X GET </command> | > | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP POST --digest with PUT, resumed upload, modified method, SHA-512-256 and userhash=true </name> <command> http://%HOSTIP:%HTTPPORT/2059 -u auser:apasswd --digest -T log/2059 -x http://%HOSTIP:%HTTPPORT -C 2 -X GET </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test206.
︙ | ︙ | |||
69 70 71 72 73 74 75 76 77 78 79 80 81 82 | <client> <server> http </server> <features> !SSPI crypto </features> <name> HTTP proxy CONNECT auth Digest </name> <command> http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel </command> | > | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | <client> <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP proxy CONNECT auth Digest </name> <command> http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2060.
︙ | ︙ | |||
62 63 64 65 66 67 68 69 70 71 72 73 74 75 | # <server> http </server> <features> !SSPI crypto </features> <name> HTTP POST --digest with PUT, resumed upload, modified method, SHA-512-256 and userhash=false </name> <command> http://%HOSTIP:%HTTPPORT/2060 -u auser:apasswd --digest -T log/2060 -x http://%HOSTIP:%HTTPPORT -C 2 -X GET </command> | > | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP POST --digest with PUT, resumed upload, modified method, SHA-512-256 and userhash=false </name> <command> http://%HOSTIP:%HTTPPORT/2060 -u auser:apasswd --digest -T log/2060 -x http://%HOSTIP:%HTTPPORT -C 2 -X GET </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2071.
︙ | ︙ | |||
20 21 22 23 24 25 26 | <server> file </server> <name> basic file:// file with "127.0.0.1" hostname </name> <command option="no-include"> | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <server> file </server> <name> basic file:// file with "127.0.0.1" hostname </name> <command option="no-include"> file://127.0.0.1%FILE_PWD/log/test2070.txt </command> <file name="log/test2070.txt"> foo bar bar foo moo |
︙ | ︙ |
Changes to jni/curl/tests/data/test208.
︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # Client-side <client> <server> http </server> <features> ftp </features> <name> HTTP PUT to a FTP URL with username+password - over HTTP proxy </name> <command> -x http://%HOSTIP:%HTTPPORT ftp://daniel:mysecret@host.com/we/want/208 -T log/test208.txt </command> | > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Client-side <client> <server> http </server> <features> ftp proxy </features> <name> HTTP PUT to a FTP URL with username+password - over HTTP proxy </name> <command> -x http://%HOSTIP:%HTTPPORT ftp://daniel:mysecret@host.com/we/want/208 -T log/test208.txt </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test209.
︙ | ︙ | |||
75 76 77 78 79 80 81 82 83 84 85 86 87 88 | <server> http </server> <features> NTLM !SSPI debug </features> <name> HTTP proxy CONNECT auth NTLM </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy CONNECT auth NTLM </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test213.
︙ | ︙ | |||
75 76 77 78 79 80 81 82 83 84 85 86 87 88 | <server> http </server> <features> NTLM !SSPI debug </features> <name> HTTP 1.0 proxy CONNECT auth NTLM and then POST </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP 1.0 proxy CONNECT auth NTLM and then POST </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test217.
︙ | ︙ | |||
30 31 32 33 34 35 36 37 38 39 40 41 42 43 | </server> <name> HTTP proxy CONNECT to proxy returning 405 </name> <command> http://test.remote.example.com.217:%HTTPPORT/path/2170002 --proxy http://%HOSTIP:%HTTPPORT --proxytunnel -w "%{http_code} %{http_connect}\n" </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> | > > > | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | </server> <name> HTTP proxy CONNECT to proxy returning 405 </name> <command> http://test.remote.example.com.217:%HTTPPORT/path/2170002 --proxy http://%HOSTIP:%HTTPPORT --proxytunnel -w "%{http_code} %{http_connect}\n" </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test219.
︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # Client-side <client> <server> none </server> <features> http </features> <name> try using proxy with unsupported scheme </name> <command> -x foo://%HOSTIP:%HTTPPORT/219 http://%HOSTIP:%HTTPPORT/219 </command> | > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | # Client-side <client> <server> none </server> <features> http proxy </features> <name> try using proxy with unsupported scheme </name> <command> -x foo://%HOSTIP:%HTTPPORT/219 http://%HOSTIP:%HTTPPORT/219 </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test231.
︙ | ︙ | |||
19 20 21 22 23 24 25 | <server> file </server> <name> file:// with resume </name> <command option="no-include"> | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <server> file </server> <name> file:// with resume </name> <command option="no-include"> file://localhost%FILE_PWD/log/test231.txt -C 10 </command> <file name="log/test231.txt"> A01234567 B01234567 C01234567 </file> </client> |
︙ | ︙ |
Changes to jni/curl/tests/data/test233.
︙ | ︙ | |||
63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </server> <name> HTTP, proxy, site+proxy auth and Location: to new host </name> <command> http://first.host.it.is/we/want/that/page/233 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | </server> <name> HTTP, proxy, site+proxy auth and Location: to new host </name> <command> http://first.host.it.is/we/want/that/page/233 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test234.
︙ | ︙ | |||
65 66 67 68 69 70 71 72 73 74 75 76 77 78 | </server> <name> HTTP, proxy, site+proxy auth and Location: to new host using location-trusted </name> <command> http://first.host.it.is/we/want/that/page/234 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location-trusted </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | </server> <name> HTTP, proxy, site+proxy auth and Location: to new host using location-trusted </name> <command> http://first.host.it.is/we/want/that/page/234 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location-trusted </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test239.
︙ | ︙ | |||
50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <server> http </server> <features> NTLM !SSPI debug </features> <name> HTTP proxy-auth NTLM and then POST </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy-auth NTLM and then POST </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test243.
︙ | ︙ | |||
71 72 73 74 75 76 77 78 79 80 81 82 83 84 | <server> http </server> <features> NTLM !SSPI debug </features> <name> HTTP POST with --proxy-anyauth, picking NTLM </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP POST with --proxy-anyauth, picking NTLM </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test244.
︙ | ︙ | |||
43 44 45 46 47 48 49 | <verify> <protocol> USER anonymous PASS ftp@example.com PWD EPSV TYPE A | | | 43 44 45 46 47 48 49 50 51 52 53 54 | <verify> <protocol> USER anonymous PASS ftp@example.com PWD EPSV TYPE A LIST fir#t/third/244 QUIT </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test256.
︙ | ︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <command option="no-output"> -x http://%HOSTIP:%HTTPPORT http://%HOSTIP:%HTTPPORT/want/256 -C - --no-include -o log/fewl256.txt -U daniel:stenberg </command> <file name="log/fewl256.txt"> This text is here to simulate a partly downloaded file to resume download on. </file> </client> # Verify data after the test has been "shot" <verify> <errorcode> 33 </errorcode> | > > > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <command option="no-output"> -x http://%HOSTIP:%HTTPPORT http://%HOSTIP:%HTTPPORT/want/256 -C - --no-include -o log/fewl256.txt -U daniel:stenberg </command> <file name="log/fewl256.txt"> This text is here to simulate a partly downloaded file to resume download on. </file> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <errorcode> 33 </errorcode> |
︙ | ︙ |
Changes to jni/curl/tests/data/test257.
︙ | ︙ | |||
69 70 71 72 73 74 75 | </server> <name> HTTP Location: following with --netrc-optional </name> <command> http://supersite.com/want/257 -L -x http://%HOSTIP:%HTTPPORT --netrc-optional --netrc-file log/netrc257 </command> | | > > | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | </server> <name> HTTP Location: following with --netrc-optional </name> <command> http://supersite.com/want/257 -L -x http://%HOSTIP:%HTTPPORT --netrc-optional --netrc-file log/netrc257 </command> <features> proxy </features> # netrc auth for two out of three sites: <file name="log/netrc257"> machine supersite.com login user1 password passwd1 machine anotherone.com login user2 password passwd2 </file> </client> |
︙ | ︙ |
Changes to jni/curl/tests/data/test258.
︙ | ︙ | |||
54 55 56 57 58 59 60 61 62 63 64 65 66 67 | <client> <server> http </server> <features> !SSPI crypto </features> <name> HTTP POST multipart without Expect: header using proxy anyauth (Digest) </name> <command> -x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth </command> | > | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <client> <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP POST multipart without Expect: header using proxy anyauth (Digest) </name> <command> -x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test259.
︙ | ︙ | |||
50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <client> <server> http </server> <features> !SSPI crypto </features> <name> HTTP POST multipart with Expect: header using proxy anyauth (Digest) </name> <command> -x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" </command> | > | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <client> <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP POST multipart with Expect: header using proxy anyauth (Digest) </name> <command> -x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test263.
︙ | ︙ | |||
21 22 23 24 25 26 27 28 29 30 31 32 33 34 | </reply> # # Client-side <client> <features> ipv6 </features> <server> http-ipv6 </server> <name> HTTP-IPv6 GET with proxy specified using IPv6-numerical address </name> | > | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | </reply> # # Client-side <client> <features> ipv6 proxy </features> <server> http-ipv6 </server> <name> HTTP-IPv6 GET with proxy specified using IPv6-numerical address </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test264.
︙ | ︙ | |||
26 27 28 29 30 31 32 33 34 35 36 37 38 39 | </server> <name> HTTP with proxy string including http:// and user+password </name> <command> http://we.want.that.site.com/264 -x http://f%61ke:user@%HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | </server> <name> HTTP with proxy string including http:// and user+password </name> <command> http://we.want.that.site.com/264 -x http://f%61ke:user@%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test265.
︙ | ︙ | |||
76 77 78 79 80 81 82 83 84 85 86 87 88 89 | <server> http </server> <features> NTLM !SSPI debug </features> <name> HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407 </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407 </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test275.
︙ | ︙ | |||
52 53 54 55 56 57 58 59 60 61 62 63 64 65 | </server> <name> HTTP CONNECT with proxytunnel getting two URLs from the same host </name> <command> http://remotesite.com.275:%HTTPPORT/we/want/that/page/275 -p -x %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:%HTTPPORT/we/want/that/page/275 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | </server> <name> HTTP CONNECT with proxytunnel getting two URLs from the same host </name> <command> http://remotesite.com.275:%HTTPPORT/we/want/that/page/275 -p -x %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:%HTTPPORT/we/want/that/page/275 </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test278.
︙ | ︙ | |||
26 27 28 29 30 31 32 33 34 35 36 37 38 39 | </server> <name> HTTP with proxy string including http:// and user+empty password </name> <command> http://we.want.that.site.com/278 -x http://f%61ke:@%HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | </server> <name> HTTP with proxy string including http:// and user+empty password </name> <command> http://we.want.that.site.com/278 -x http://f%61ke:@%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test279.
︙ | ︙ | |||
27 28 29 30 31 32 33 34 35 36 37 38 39 40 | </server> <name> HTTP with proxy string including http:// and user only </name> <command> http://we.want.that.site.com/279 -x http://f%61ke@%HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | </server> <name> HTTP with proxy string including http:// and user only </name> <command> http://we.want.that.site.com/279 -x http://f%61ke@%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test287.
︙ | ︙ | |||
26 27 28 29 30 31 32 33 34 35 36 37 38 39 | </server> <name> HTTP proxy CONNECT with custom User-Agent header </name> <command> http://test.remote.example.com.287:%HTTPPORT/path/287 -H "User-Agent: looser/2015" --proxy http://%HOSTIP:%HTTPPORT --proxytunnel --proxy-header "User-Agent: looser/2007" </command> </client> # Verify data after the test has been "shot" <verify> <protocol> CONNECT test.remote.example.com.287:%HTTPPORT HTTP/1.1 Host: test.remote.example.com.287:%HTTPPORT | > > > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | </server> <name> HTTP proxy CONNECT with custom User-Agent header </name> <command> http://test.remote.example.com.287:%HTTPPORT/path/287 -H "User-Agent: looser/2015" --proxy http://%HOSTIP:%HTTPPORT --proxytunnel --proxy-header "User-Agent: looser/2007" </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <protocol> CONNECT test.remote.example.com.287:%HTTPPORT HTTP/1.1 Host: test.remote.example.com.287:%HTTPPORT |
︙ | ︙ |
Changes to jni/curl/tests/data/test288.
︙ | ︙ | |||
27 28 29 30 31 32 33 | <name> file:// with (unsupported) proxy, authentication and range </name> <setenv> all_proxy=http://fake:user@%HOSTIP:%HTTPPORT/ </setenv> <command option="no-include"> | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | <name> file:// with (unsupported) proxy, authentication and range </name> <setenv> all_proxy=http://fake:user@%HOSTIP:%HTTPPORT/ </setenv> <command option="no-include"> file://localhost%FILE_PWD/log/test288.txt </command> <file name="log/test288.txt"> foo bar bar foo moo |
︙ | ︙ |
Changes to jni/curl/tests/data/test299.
︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # Client-side <client> <server> http </server> <features> ftp </features> <name> FTP over HTTP proxy with user:pass not in url </name> <command> -x http://%HOSTIP:%HTTPPORT -u michal:aybabtu ftp://host.com/we/want/299 </command> | > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Client-side <client> <server> http </server> <features> ftp proxy </features> <name> FTP over HTTP proxy with user:pass not in url </name> <command> -x http://%HOSTIP:%HTTPPORT -u michal:aybabtu ftp://host.com/we/want/299 </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test317.
︙ | ︙ | |||
63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </server> <name> HTTP with custom Authorization: and redirect to new host </name> <command> http://first.host.it.is/we/want/that/page/317 -x %HOSTIP:%HTTPPORT -H "Authorization: s3cr3t" --proxy-user testing:this --location </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | </server> <name> HTTP with custom Authorization: and redirect to new host </name> <command> http://first.host.it.is/we/want/that/page/317 -x %HOSTIP:%HTTPPORT -H "Authorization: s3cr3t" --proxy-user testing:this --location </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test318.
︙ | ︙ | |||
63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </server> <name> HTTP with custom Authorization: and redirect to new host </name> <command> http://first.host.it.is/we/want/that/page/318 -x %HOSTIP:%HTTPPORT -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | </server> <name> HTTP with custom Authorization: and redirect to new host </name> <command> http://first.host.it.is/we/want/that/page/318 -x %HOSTIP:%HTTPPORT -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test330.
︙ | ︙ | |||
61 62 63 64 65 66 67 68 69 70 71 72 73 74 | </server> <name> HTTP with custom Cookie: and redirect to new host </name> <command> http://first.host.it.is/we/want/that/page/317 -x %HOSTIP:%HTTPPORT -H "Cookie: test=yes" --location </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | </server> <name> HTTP with custom Cookie: and redirect to new host </name> <command> http://first.host.it.is/we/want/that/page/317 -x %HOSTIP:%HTTPPORT -H "Cookie: test=yes" --location </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test331.
︙ | ︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | </server> <name> HTTP with cookie using host name 'moo' </name> <command> -x http://%HOSTIP:%HTTPPORT http://moo/we/want/331 -b none http://moo/we/want/3310002 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | </server> <name> HTTP with cookie using host name 'moo' </name> <command> -x http://%HOSTIP:%HTTPPORT http://moo/we/want/331 -b none http://moo/we/want/3310002 </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test335.
︙ | ︙ | |||
57 58 59 60 61 62 63 64 65 66 67 68 69 70 | <client> <server> http </server> <features> !SSPI crypto </features> <name> HTTP with proxy Digest and site Digest with creds in URLs </name> <command> http://digest:alot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@%HOSTIP:%HTTPPORT --proxy-digest --digest </command> | > | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | <client> <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP with proxy Digest and site Digest with creds in URLs </name> <command> http://digest:alot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@%HOSTIP:%HTTPPORT --proxy-digest --digest </command> |
︙ | ︙ |
Added jni/curl/tests/data/test336.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <testcase> <info> <keywords> FTP PASV TYPE A RETR </keywords> </info> # Server-side <reply> <data> data to see that FTP works so does it? </data> <datacheck nonewline="yes"> data </datacheck> <servercmd> REPLY EPSV 500 no such command REPLY SIZE 500 no such command </servercmd> </reply> # Client-side <client> <server> ftp </server> <name> FTP range download when SIZE doesn't work </name> <command> ftp://%HOSTIP:%FTPPORT/336 --use-ascii --range 3-6 </command> </client> # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD EPSV PASV TYPE A SIZE 336 REST 3 RETR 336 ABOR QUIT </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test337.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <testcase> <info> <keywords> FTP PASV TYPE A RETR </keywords> </info> # Server-side <reply> <data> data to see that FTP works so does it? </data> <datacheck nonewline="yes"> data </datacheck> <servercmd> REPLY EPSV 500 no such command REPLY SIZE 213 file: 213, Size =51 </servercmd> </reply> # Client-side <client> <server> ftp </server> <name> FTP range download with SIZE returning extra crap </name> <command> ftp://%HOSTIP:%FTPPORT/337 --use-ascii --range 3-6 </command> </client> # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD EPSV PASV TYPE A SIZE 337 REST 3 RETR 337 ABOR QUIT </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test338.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | # See https://github.com/curl/curl/issues/4499 <testcase> <info> <keywords> HTTP HTTP GET </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Content-Type: text/html Funny-head: yesyes -foo- </data> <servercmd> connection-monitor </servercmd> </reply> # # Client-side <client> <server> http </server> <name> ANYAUTH connection reuse of non-authed connection </name> <command> http://%HOSTIP:%HTTPPORT/338 --next http://%HOSTIP:%HTTPPORT/338 --anyauth -u foo:moo </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /338 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* GET /338 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* [DISCONNECT] </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test356.
︙ | ︙ | |||
57 58 59 60 61 62 63 | </protocol> <stripfile> # strip out the (dynamic) expire date from the file so that the rest # matches s/\"([^\"]*)\"/TIMESTAMP/ </stripfile> | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | </protocol> <stripfile> # strip out the (dynamic) expire date from the file so that the rest # matches s/\"([^\"]*)\"/TIMESTAMP/ </stripfile> <file name="log/altsvc-356" mode="text"> # Your alt-svc cache. https://curl.haxx.se/docs/alt-svc.html # This file was generated by libcurl! Edit at your own risk. h1 %HOSTIP %HTTPPORT h1 nowhere.foo 81 TIMESTAMP 0 0 </file> </verify> </testcase> |
Changes to jni/curl/tests/data/test43.
︙ | ︙ | |||
52 53 54 55 56 57 58 59 60 61 62 63 64 65 | </server> <name> HTTP Location: following over HTTP proxy </name> <command> http://%HOSTIP:%HTTPPORT/want/43 -L -x %HOSTIP:%HTTPPORT </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | </server> <name> HTTP Location: following over HTTP proxy </name> <command> http://%HOSTIP:%HTTPPORT/want/43 -L -x %HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test5.
︙ | ︙ | |||
27 28 29 30 31 32 33 34 35 36 37 38 39 40 | </server> <name> HTTP over proxy </name> <command> http://%HOSTIP:%HTTPPORT/we/want/that/page/5#5 -x %HOSTIP:%HTTPPORT </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | </server> <name> HTTP over proxy </name> <command> http://%HOSTIP:%HTTPPORT/we/want/that/page/5#5 -x %HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test503.
︙ | ︙ | |||
46 47 48 49 50 51 52 | http http-proxy </server> # tool is what to use instead of 'curl' <tool> lib503 </tool> | | > > | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | http http-proxy </server> # tool is what to use instead of 'curl' <tool> lib503 </tool> <features> proxy </features> <name> simple multi http:// through proxytunnel with authentication info </name> <command> http://machine.503:%HTTPPORT/503 %HOSTIP:%PROXYPORT </command> <file name="log/test503.txt"> |
︙ | ︙ |
Changes to jni/curl/tests/data/test504.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <testcase> <info> <keywords> HTTP HTTP GET HTTP proxy multi FAILURE </keywords> </info> # Server-side <reply> </reply> # Client-side <client> <server> none </server> <features> http </features> # tool is what to use instead of 'curl' <tool> lib504 </tool> <name> | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <testcase> <info> <keywords> HTTP HTTP GET HTTP proxy multi FAILURE connect to non-listen </keywords> </info> # Server-side <reply> </reply> # Client-side <client> <server> none </server> <features> http proxy </features> # tool is what to use instead of 'curl' <tool> lib504 </tool> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test506.
︙ | ︙ | |||
111 112 113 114 115 116 117 | lock: share [Pigs in space]: 14 unlock: share [Pigs in space]: 15 *** run 1 CURLOPT_SHARE lock: share [Pigs in space]: 16 unlock: share [Pigs in space]: 17 PERFORM | | | | | > > | | | | | | | | | | > > | | | | | | | | | | | | | | | | | | | | | | < < < < > > > > | | | | | | | | | | | | | | | | | | | | | | | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | lock: share [Pigs in space]: 14 unlock: share [Pigs in space]: 15 *** run 1 CURLOPT_SHARE lock: share [Pigs in space]: 16 unlock: share [Pigs in space]: 17 PERFORM lock: cookie [Pigs in space]: 18 unlock: cookie [Pigs in space]: 19 lock: dns [Pigs in space]: 20 unlock: dns [Pigs in space]: 21 lock: dns [Pigs in space]: 22 unlock: dns [Pigs in space]: 23 lock: cookie [Pigs in space]: 24 unlock: cookie [Pigs in space]: 25 lock: cookie [Pigs in space]: 26 unlock: cookie [Pigs in space]: 27 lock: cookie [Pigs in space]: 28 unlock: cookie [Pigs in space]: 29 lock: cookie [Pigs in space]: 30 unlock: cookie [Pigs in space]: 31 run 1: set cookie 1, 2 and 3 lock: dns [Pigs in space]: 32 unlock: dns [Pigs in space]: 33 lock: dns [Pigs in space]: 34 unlock: dns [Pigs in space]: 35 CLEANUP lock: cookie [Pigs in space]: 36 unlock: cookie [Pigs in space]: 37 lock: share [Pigs in space]: 38 unlock: share [Pigs in space]: 39 *** run 2 CURLOPT_SHARE lock: share [Pigs in space]: 40 unlock: share [Pigs in space]: 41 PERFORM lock: cookie [Pigs in space]: 42 unlock: cookie [Pigs in space]: 43 lock: dns [Pigs in space]: 44 unlock: dns [Pigs in space]: 45 lock: cookie [Pigs in space]: 46 unlock: cookie [Pigs in space]: 47 lock: cookie [Pigs in space]: 48 unlock: cookie [Pigs in space]: 49 lock: cookie [Pigs in space]: 50 unlock: cookie [Pigs in space]: 51 run 2: set cookie 4 and 5 lock: dns [Pigs in space]: 52 unlock: dns [Pigs in space]: 53 lock: dns [Pigs in space]: 54 unlock: dns [Pigs in space]: 55 CLEANUP lock: cookie [Pigs in space]: 56 unlock: cookie [Pigs in space]: 57 lock: share [Pigs in space]: 58 unlock: share [Pigs in space]: 59 *** run 3 CURLOPT_SHARE lock: share [Pigs in space]: 60 unlock: share [Pigs in space]: 61 CURLOPT_COOKIEJAR CURLOPT_COOKIELIST FLUSH lock: cookie [Pigs in space]: 62 unlock: cookie [Pigs in space]: 63 PERFORM lock: dns [Pigs in space]: 64 unlock: dns [Pigs in space]: 65 lock: cookie [Pigs in space]: 66 unlock: cookie [Pigs in space]: 67 lock: cookie [Pigs in space]: 68 unlock: cookie [Pigs in space]: 69 lock: cookie [Pigs in space]: 70 unlock: cookie [Pigs in space]: 71 lock: cookie [Pigs in space]: 72 unlock: cookie [Pigs in space]: 73 lock: cookie [Pigs in space]: 74 unlock: cookie [Pigs in space]: 75 run 3: overwrite cookie 1 and 4, set cookie 6 with and without tailmatch lock: dns [Pigs in space]: 76 unlock: dns [Pigs in space]: 77 lock: dns [Pigs in space]: 78 unlock: dns [Pigs in space]: 79 CLEANUP lock: cookie [Pigs in space]: 80 unlock: cookie [Pigs in space]: 81 lock: share [Pigs in space]: 82 unlock: share [Pigs in space]: 83 CURLOPT_SHARE lock: share [Pigs in space]: 84 unlock: share [Pigs in space]: 85 CURLOPT_COOKIELIST ALL lock: cookie [Pigs in space]: 86 unlock: cookie [Pigs in space]: 87 CURLOPT_COOKIEJAR CURLOPT_COOKIELIST RELOAD lock: cookie [Pigs in space]: 88 unlock: cookie [Pigs in space]: 89 lock: cookie [Pigs in space]: 90 unlock: cookie [Pigs in space]: 91 loaded cookies: ----------------- www.host.foo.com FALSE / FALSE 1993463787 test6 six_more .www.host.foo.com TRUE / FALSE 1993463787 test6 six .host.foo.com TRUE / FALSE 1896263787 test5 five .host.foo.com TRUE / FALSE 2061978987 test4 overwritten4 .foo.com TRUE / FALSE 1896263787 test3 three .host.foo.com TRUE / FALSE 1896263787 test2 two .foo.com TRUE / FALSE 1993463787 test1 overwritten1 .host.foo.com TRUE / FALSE 1896263787 injected yes ----------------- try SHARE_CLEANUP... lock: share [Pigs in space]: 92 unlock: share [Pigs in space]: 93 SHARE_CLEANUP failed, correct CLEANUP lock: cookie [Pigs in space]: 94 unlock: cookie [Pigs in space]: 95 lock: share [Pigs in space]: 96 unlock: share [Pigs in space]: 97 SHARE_CLEANUP lock: share [Pigs in space]: 98 unlock: share [Pigs in space]: 99 GLOBAL_CLEANUP </stdout> <file name="log/jar506" mode="text"> # Netscape HTTP Cookie File # https://curl.haxx.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. |
︙ | ︙ |
Changes to jni/curl/tests/data/test523.
︙ | ︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <name> HTTP GET with proxy and CURLOPT_PORT </name> # first URL then proxy <command> http://www.example.com:999/523 http://%HOSTIP:%HTTPPORT </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <name> HTTP GET with proxy and CURLOPT_PORT </name> # first URL then proxy <command> http://www.example.com:999/523 http://%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test539.
︙ | ︙ | |||
60 61 62 63 64 65 66 | TYPE I SIZE 539 RETR 539 SYST CWD / EPSV TYPE A | | | 60 61 62 63 64 65 66 67 68 69 70 71 | TYPE I SIZE 539 RETR 539 SYST CWD / EPSV TYPE A LIST path/to/the/file/539. QUIT </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test540.
︙ | ︙ | |||
63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # tool is what to use instead of 'curl' <tool> lib540 </tool> <features> !SSPI crypto </features> <name> HTTP proxy auth Digest multi API re-using connection </name> <command> http://test.remote.example.com/path/540 http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name </command> | > | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | # tool is what to use instead of 'curl' <tool> lib540 </tool> <features> !SSPI crypto proxy </features> <name> HTTP proxy auth Digest multi API re-using connection </name> <command> http://test.remote.example.com/path/540 http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test547.
︙ | ︙ | |||
74 75 76 77 78 79 80 81 82 83 84 85 86 87 | <tool> lib547 </tool> <features> NTLM !SSPI debug </features> <name> HTTP proxy auth NTLM with POST data from read callback </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | <tool> lib547 </tool> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy auth NTLM with POST data from read callback </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test548.
︙ | ︙ | |||
74 75 76 77 78 79 80 81 82 83 84 85 86 87 | <tool> lib548 </tool> <features> NTLM !SSPI debug </features> <name> HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | <tool> lib548 </tool> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test549.
︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # Client-side <client> <server> http </server> <features> ftp </features> <tool> lib549 </tool> <name> FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE </name> | > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # Client-side <client> <server> http </server> <features> ftp proxy </features> <tool> lib549 </tool> <name> FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test550.
︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # Client-side <client> <server> http </server> <features> ftp </features> <tool> lib549 </tool> <name> FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer </name> | > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # Client-side <client> <server> http </server> <features> ftp proxy </features> <tool> lib549 </tool> <name> FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test551.
︙ | ︙ | |||
59 60 61 62 63 64 65 66 67 68 69 70 71 72 | # tool to use <tool> lib547 </tool> <features> !SSPI crypto </features> <name> HTTP proxy auth Digest with POST data from read callback </name> <command> http://test.remote.example.com/path/551 http://%HOSTIP:%HTTPPORT s1lly:pers0n </command> | > | 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | # tool to use <tool> lib547 </tool> <features> !SSPI crypto proxy </features> <name> HTTP proxy auth Digest with POST data from read callback </name> <command> http://test.remote.example.com/path/551 http://%HOSTIP:%HTTPPORT s1lly:pers0n </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test555.
︙ | ︙ | |||
79 80 81 82 83 84 85 86 87 88 89 90 91 92 | <tool> lib555 </tool> <features> NTLM !SSPI debug </features> <name> HTTP proxy auth NTLM with POST data from read callback multi-if </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | <tool> lib555 </tool> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy auth NTLM with POST data from read callback multi-if </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test561.
︙ | ︙ | |||
29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # Client-side <client> <server> http </server> <features> ftp </features> <tool> lib549 </tool> <name> FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i </name> | > | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # Client-side <client> <server> http </server> <features> ftp proxy </features> <tool> lib549 </tool> <name> FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test563.
︙ | ︙ | |||
28 29 30 31 32 33 34 | </server> <tool> lib562 </tool> <name> FTP type=A URL and CURLOPT_PORT set and proxy </name> | | > > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | </server> <tool> lib562 </tool> <name> FTP type=A URL and CURLOPT_PORT set and proxy </name> <features> proxy </features> <setenv> ftp_proxy=http://%HOSTIP:%HTTPPORT/ </setenv> # note that we need quotes around the URL below to make sure the shell doesn't # treat the semicolon as a separator! <command> "ftp://%HOSTIP:23456/563;type=A" %FTPPORT |
︙ | ︙ |
Changes to jni/curl/tests/data/test564.
︙ | ︙ | |||
34 35 36 37 38 39 40 41 42 43 44 45 46 47 | </tool> <name> FTP RETR a file over a SOCKS proxy using the multi interface </name> <command> ftp://%HOSTIP:%FTPPORT/path/564 %HOSTIP:%SOCKSPORT </command> </client> # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com | > > > | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | </tool> <name> FTP RETR a file over a SOCKS proxy using the multi interface </name> <command> ftp://%HOSTIP:%FTPPORT/path/564 %HOSTIP:%SOCKSPORT </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com |
︙ | ︙ |
Changes to jni/curl/tests/data/test590.
︙ | ︙ | |||
72 73 74 75 76 77 78 79 80 81 82 83 84 85 | <tool> lib590 </tool> <features> NTLM !SSPI debug </features> <name> HTTP proxy offers Negotiate+NTLM, use only NTLM </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost | > | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | <tool> lib590 </tool> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy offers Negotiate+NTLM, use only NTLM </name> <setenv> # we force our own host name, in order to make the test machine independent CURL_GETHOSTNAME=curlhost |
︙ | ︙ |
Changes to jni/curl/tests/data/test62.
︙ | ︙ | |||
25 26 27 28 29 30 31 | <server> http </server> <name> HTTP, send cookies when using custom Host: </name> <command> | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <server> http </server> <name> HTTP, send cookies when using custom Host: </name> <command> http://%HOSTIP:%HTTPPORT/we/want/62 http://%HOSTIP:%HTTPPORT/we/want/62?hoge=fuga -b log/jar62.txt -H "Host: www.host.foo.com" </command> <file name="log/jar62.txt"> # Netscape HTTP Cookie File # https://curl.haxx.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. #HttpOnly_.foo.com TRUE /we/want/ FALSE 2147483647 test yes |
︙ | ︙ | |||
51 52 53 54 55 56 57 | </strip> <protocol> GET /we/want/62 HTTP/1.1 Host: www.host.foo.com Accept: */* Cookie: test2=yes; test=yes | | | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | </strip> <protocol> GET /we/want/62 HTTP/1.1 Host: www.host.foo.com Accept: */* Cookie: test2=yes; test=yes GET /we/want/62?hoge=fuga HTTP/1.1 Host: www.host.foo.com Accept: */* Cookie: test2=yes; test=yes </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test63.
︙ | ︙ | |||
29 30 31 32 33 34 35 36 37 38 39 40 41 42 | </name> <setenv> http_proxy=http://fake:user@%HOSTIP:%HTTPPORT/ </setenv> <command> http://we.want.that.site.com/63 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> | > > > | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | </name> <setenv> http_proxy=http://fake:user@%HOSTIP:%HTTPPORT/ </setenv> <command> http://we.want.that.site.com/63 </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test659.
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | </tool> <name> CURLOPT_CURLU without the path set - over proxy </name> <command> http://%HOSTIP:%HTTPPORT </command> </client> <verify> <strip> ^User-Agent:.* </strip> <protocol> | > > > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | </tool> <name> CURLOPT_CURLU without the path set - over proxy </name> <command> http://%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> <verify> <strip> ^User-Agent:.* </strip> <protocol> |
︙ | ︙ |
Added jni/curl/tests/data/test661.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | <testcase> <info> <keywords> FTP </keywords> </info> # # Server-side <reply> <data> </data> </reply> # Client-side <client> <server> ftp </server> # tool is what to use instead of 'curl' <tool> lib661 </tool> <name> Avoid redundant CWDs </name> <command> ftp://%HOSTIP:%FTPPORT/ </command> </client> # # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD CWD /folderA EPSV TYPE I RETR 661 CWD /folderB EPSV RETR 661 QUIT USER anonymous PASS ftp@example.com PWD EPSV TYPE I RETR /folderA/661 CWD /folderB EPSV RETR 661 EPSV RETR /folderA/661 QUIT USER anonymous PASS ftp@example.com PWD SYST QUIT USER anonymous PASS ftp@example.com PWD SYST SYST QUIT </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test662.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | <testcase> <info> <keywords> HTTP HTTP GET followlocation </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 302 OK Location: http://example.net/tes t case=/6620002 Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 0 </data> <data2> HTTP/1.1 200 OK Location: this should be ignored Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 5 body </data2> <datacheck> HTTP/1.1 302 OK Location: http://example.net/tes t case=/6620002 Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 0 HTTP/1.1 200 OK Location: this should be ignored Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 5 body </datacheck> </reply> # # Client-side <client> <server> http </server> <name> HTTP redirect with whitespace in absolute Location: URL </name> <command> http://example.com/please/gimme/662 -L -x http://%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET http://example.com/please/gimme/662 HTTP/1.1 Host: example.com Accept: */* Proxy-Connection: Keep-Alive GET http://example.net/tes%20t%20case=/6620002 HTTP/1.1 Host: example.net Accept: */* Proxy-Connection: Keep-Alive </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test663.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | # # This test is crafted to reproduce oss-fuzz bug # https://crbug.com/oss-fuzz/17954 # <testcase> <info> <keywords> HTTP HTTP GET followlocation </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 302 OK Location: http://example.net/there/it/is/../../tes t case=/6630002? yes no Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 0 </data> <data2> HTTP/1.1 200 OK Location: this should be ignored Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 5 body </data2> <datacheck> HTTP/1.1 302 OK Location: http://example.net/there/it/is/../../tes t case=/6630002? yes no Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 0 HTTP/1.1 200 OK Location: this should be ignored Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 5 body </datacheck> </reply> # # Client-side <client> <server> http </server> <name> HTTP redirect with dotdots and whitespaces in absolute Location: URL </name> <command> http://example.com/please/../gimme/663?foobar#hello -L -x http://%HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET http://example.com/gimme/663?foobar HTTP/1.1 Host: example.com Accept: */* Proxy-Connection: Keep-Alive GET http://example.net/there/tes%20t%20case=/6630002?+yes+no HTTP/1.1 Host: example.net Accept: */* Proxy-Connection: Keep-Alive </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test702.
︙ | ︙ | |||
21 22 23 24 25 26 27 28 29 30 31 32 33 34 | # Client-side <client> <server> socks4 </server> <features> http </features> <name> Attempt connect to non-listening HTTP server via SOCKS4 proxy </name> <command> --socks4 %HOSTIP:%SOCKSPORT http://%HOSTIP:60000 </command> | > | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | # Client-side <client> <server> socks4 </server> <features> http proxy </features> <name> Attempt connect to non-listening HTTP server via SOCKS4 proxy </name> <command> --socks4 %HOSTIP:%SOCKSPORT http://%HOSTIP:60000 </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test703.
︙ | ︙ | |||
21 22 23 24 25 26 27 28 29 30 31 32 33 34 | # Client-side <client> <server> socks5 </server> <features> http </features> <name> Attempt connect to non-listening HTTP server via SOCKS5 proxy </name> <command> --socks5 %HOSTIP:%SOCKSPORT http://%HOSTIP:60000 </command> | > | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | # Client-side <client> <server> socks5 </server> <features> http proxy </features> <name> Attempt connect to non-listening HTTP server via SOCKS5 proxy </name> <command> --socks5 %HOSTIP:%SOCKSPORT http://%HOSTIP:60000 </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test704.
︙ | ︙ | |||
19 20 21 22 23 24 25 | <server> http </server> <name> Attempt connect to non-listening SOCKS4 proxy </name> <command> | | > > > | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <server> http </server> <name> Attempt connect to non-listening SOCKS4 proxy </name> <command> --socks4 %HOSTIP:2 http://%HOSTIP:%HTTPPORT/704 </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <errorcode> 7 </errorcode> |
︙ | ︙ |
Changes to jni/curl/tests/data/test705.
︙ | ︙ | |||
19 20 21 22 23 24 25 | <server> http </server> <name> Attempt connect to non-listening SOCKS5 proxy </name> <command> | | > > > | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <server> http </server> <name> Attempt connect to non-listening SOCKS5 proxy </name> <command> --socks5 %HOSTIP:2 http://%HOSTIP:%HTTPPORT/705 </command> <features> proxy </features> </client> # Verify data after the test has been "shot" <verify> <errorcode> 7 </errorcode> |
︙ | ︙ |
Changes to jni/curl/tests/data/test714.
︙ | ︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <client> <server> ftp http-proxy </server> <features> http </features> <name> FTP fetch with --proxy set to http:// and with --connect-to </name> <command> ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:%FTPPORT --proxytunnel --proxy http://%HOSTIP:%PROXYPORT </command> | > | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <client> <server> ftp http-proxy </server> <features> http proxy </features> <name> FTP fetch with --proxy set to http:// and with --connect-to </name> <command> ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:%FTPPORT --proxytunnel --proxy http://%HOSTIP:%PROXYPORT </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test715.
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <server> ftp http-proxy socks5 </server> <features> http </features> <name> FTP fetch with --preproxy, --proxy and --connect-to </name> <command> ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:%FTPPORT --proxytunnel --proxy %HOSTIP:%PROXYPORT --preproxy socks5://%HOSTIP:%SOCKSPORT </command> | > | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <server> ftp http-proxy socks5 </server> <features> http proxy </features> <name> FTP fetch with --preproxy, --proxy and --connect-to </name> <command> ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:%FTPPORT --proxytunnel --proxy %HOSTIP:%PROXYPORT --preproxy socks5://%HOSTIP:%SOCKSPORT </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test716.
︙ | ︙ | |||
19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # Client-side <client> <server> socks5 </server> <features> http </features> <name> SOCKS5 proxy with too long user name </name> # it should never connect to the target server <command> | > | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # Client-side <client> <server> socks5 </server> <features> http proxy </features> <name> SOCKS5 proxy with too long user name </name> # it should never connect to the target server <command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test717.
︙ | ︙ | |||
43 44 45 46 47 48 49 50 51 52 53 54 55 56 | SOCKS5 proxy auth </name> # target a port that won't work without the SOCKS magic <command> http://%HOSTIP:1/717 -x socks5://uz3r:p4ssworm@%HOSTIP:%SOCKSPORT </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | SOCKS5 proxy auth </name> # target a port that won't work without the SOCKS magic <command> http://%HOSTIP:1/717 -x socks5://uz3r:p4ssworm@%HOSTIP:%SOCKSPORT </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test79.
︙ | ︙ | |||
25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # Client-side <client> <server> http </server> <features> ftp </features> <name> FTP over HTTP proxy </name> <command> ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79 -x %HOSTIP:%HTTPPORT </command> | > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # Client-side <client> <server> http </server> <features> ftp proxy </features> <name> FTP over HTTP proxy </name> <command> ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79 -x %HOSTIP:%HTTPPORT </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test80.
︙ | ︙ | |||
51 52 53 54 55 56 57 58 59 60 61 62 63 64 | </server> <name> HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication </name> <command> http://test.80:%HTTPPORT/we/want/that/page/80 -p --proxy1.0 %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | </server> <name> HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication </name> <command> http://test.80:%HTTPPORT/we/want/that/page/80 -p --proxy1.0 %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test81.
︙ | ︙ | |||
53 54 55 56 57 58 59 60 61 62 63 64 65 66 | # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> HTTP with proxy using NTLM authorization </name> | > | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # Client-side <client> <features> NTLM !SSPI debug proxy </features> <server> http </server> <name> HTTP with proxy using NTLM authorization </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test82.
︙ | ︙ | |||
22 23 24 25 26 27 28 29 30 31 32 33 34 35 | </data> </reply> # Client-side <client> <features> </features> <server> http </server> <name> HTTP with proxy requiring NTLM, but we send Basic </name> | > | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | </data> </reply> # Client-side <client> <features> proxy </features> <server> http </server> <name> HTTP with proxy requiring NTLM, but we send Basic </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test83.
︙ | ︙ | |||
48 49 50 51 52 53 54 55 56 57 58 59 60 61 | </server> <name> HTTP over proxy-tunnel with site authentication </name> <command> http://test.83:%HTTPPORT/we/want/that/page/83 -p -x %HOSTIP:%PROXYPORT --user 'iam:my:;self' </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | </server> <name> HTTP over proxy-tunnel with site authentication </name> <command> http://test.83:%HTTPPORT/we/want/that/page/83 -p -x %HOSTIP:%PROXYPORT --user 'iam:my:;self' </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test84.
︙ | ︙ | |||
29 30 31 32 33 34 35 36 37 38 39 40 41 42 | </server> <name> HTTP over proxy with site authentication </name> <command> http://%HOSTIP:%HTTPPORT/we/want/that/page/84 -x %HOSTIP:%HTTPPORT --user iam:myself </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | </server> <name> HTTP over proxy with site authentication </name> <command> http://%HOSTIP:%HTTPPORT/we/want/that/page/84 -x %HOSTIP:%HTTPPORT --user iam:myself </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test85.
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | </server> <name> HTTP over proxy with site and proxy authentication </name> <command> http://%HOSTIP:%HTTPPORT/we/want/that/page/85 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | </server> <name> HTTP over proxy with site and proxy authentication </name> <command> http://%HOSTIP:%HTTPPORT/we/want/that/page/85 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test93.
︙ | ︙ | |||
27 28 29 30 31 32 33 34 35 36 37 38 39 40 | </server> <name> HTTP GET with failed proxy auth </name> <command> http://%HOSTIP:%HTTPPORT/93 -x %HOSTIP:%HTTPPORT </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | </server> <name> HTTP GET with failed proxy auth </name> <command> http://%HOSTIP:%HTTPPORT/93 -x %HOSTIP:%HTTPPORT </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/data/test94.
︙ | ︙ | |||
25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # Client-side <client> <server> http </server> <features> SSL </features> <name> HTTPS GET with failed proxy auth (CONNECT 1.0) </name> <command> https://test.anything.really.com:94 --proxy1.0 %HOSTIP:%HTTPPORT </command> | > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # Client-side <client> <server> http </server> <features> SSL proxy </features> <name> HTTPS GET with failed proxy auth (CONNECT 1.0) </name> <command> https://test.anything.really.com:94 --proxy1.0 %HOSTIP:%HTTPPORT </command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test95.
︙ | ︙ | |||
48 49 50 51 52 53 54 55 56 57 58 59 60 61 | </server> <name> HTTP over proxytunnel using POST </name> <command> http://test.95:%HTTPPORT/we/want/that/page/95 -p -x %HOSTIP:%PROXYPORT -d "datatopost=ohthatsfunyesyes" </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* | > > > | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | </server> <name> HTTP over proxytunnel using POST </name> <command> http://test.95:%HTTPPORT/we/want/that/page/95 -p -x %HOSTIP:%PROXYPORT -d "datatopost=ohthatsfunyesyes" </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* |
︙ | ︙ |
Changes to jni/curl/tests/libtest/Makefile.in.
︙ | ︙ | |||
116 117 118 119 120 121 122 | lib579$(EXEEXT) lib582$(EXEEXT) lib583$(EXEEXT) \ lib585$(EXEEXT) lib586$(EXEEXT) lib587$(EXEEXT) \ lib589$(EXEEXT) lib590$(EXEEXT) lib591$(EXEEXT) \ lib597$(EXEEXT) lib598$(EXEEXT) lib599$(EXEEXT) \ lib643$(EXEEXT) lib644$(EXEEXT) lib645$(EXEEXT) \ lib650$(EXEEXT) lib651$(EXEEXT) lib652$(EXEEXT) \ lib653$(EXEEXT) lib654$(EXEEXT) lib655$(EXEEXT) \ | | | | | | | | | | | | | | | | | | | | | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | lib579$(EXEEXT) lib582$(EXEEXT) lib583$(EXEEXT) \ lib585$(EXEEXT) lib586$(EXEEXT) lib587$(EXEEXT) \ lib589$(EXEEXT) lib590$(EXEEXT) lib591$(EXEEXT) \ lib597$(EXEEXT) lib598$(EXEEXT) lib599$(EXEEXT) \ lib643$(EXEEXT) lib644$(EXEEXT) lib645$(EXEEXT) \ lib650$(EXEEXT) lib651$(EXEEXT) lib652$(EXEEXT) \ lib653$(EXEEXT) lib654$(EXEEXT) lib655$(EXEEXT) \ lib658$(EXEEXT) lib659$(EXEEXT) lib661$(EXEEXT) \ lib1156$(EXEEXT) lib1500$(EXEEXT) lib1501$(EXEEXT) \ lib1502$(EXEEXT) lib1503$(EXEEXT) lib1504$(EXEEXT) \ lib1505$(EXEEXT) lib1506$(EXEEXT) lib1507$(EXEEXT) \ lib1508$(EXEEXT) lib1509$(EXEEXT) lib1510$(EXEEXT) \ lib1511$(EXEEXT) lib1512$(EXEEXT) lib1513$(EXEEXT) \ lib1514$(EXEEXT) lib1515$(EXEEXT) lib1517$(EXEEXT) \ lib1518$(EXEEXT) lib1520$(EXEEXT) lib1521$(EXEEXT) \ lib1522$(EXEEXT) lib1523$(EXEEXT) lib1525$(EXEEXT) \ lib1526$(EXEEXT) lib1527$(EXEEXT) lib1528$(EXEEXT) \ lib1529$(EXEEXT) lib1530$(EXEEXT) lib1531$(EXEEXT) \ lib1532$(EXEEXT) lib1533$(EXEEXT) lib1534$(EXEEXT) \ lib1535$(EXEEXT) lib1536$(EXEEXT) lib1537$(EXEEXT) \ lib1538$(EXEEXT) lib1540$(EXEEXT) lib1541$(EXEEXT) \ lib1550$(EXEEXT) lib1551$(EXEEXT) lib1552$(EXEEXT) \ lib1553$(EXEEXT) lib1554$(EXEEXT) lib1555$(EXEEXT) \ lib1556$(EXEEXT) lib1557$(EXEEXT) lib1558$(EXEEXT) \ lib1559$(EXEEXT) lib1560$(EXEEXT) lib1591$(EXEEXT) \ lib1592$(EXEEXT) lib1593$(EXEEXT) lib1594$(EXEEXT) \ lib1596$(EXEEXT) lib1900$(EXEEXT) lib1905$(EXEEXT) \ lib1906$(EXEEXT) lib1907$(EXEEXT) lib2033$(EXEEXT) @USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_1 = -DCURL_STATICLIB @CURL_LT_SHLIB_USE_NO_UNDEFINED_TRUE@am__append_2 = -no-undefined @CURL_LT_SHLIB_USE_MIMPURE_TEXT_TRUE@am__append_3 = -mimpure-text @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_4 = -DCURL_HIDDEN_SYMBOLS @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_5 = $(CFLAG_CURL_SYMBOL_HIDING) # Build a stub gssapi implementation for testing |
︙ | ︙ | |||
582 583 584 585 586 587 588 | am__objects_139 = lib1906-first.$(OBJEXT) am__objects_140 = lib1906-testutil.$(OBJEXT) am__objects_141 = ../../lib/lib1906-warnless.$(OBJEXT) am_lib1906_OBJECTS = lib1906-lib1906.$(OBJEXT) $(am__objects_139) \ $(am__objects_140) $(am__objects_141) lib1906_OBJECTS = $(am_lib1906_OBJECTS) lib1906_DEPENDENCIES = $(am__DEPENDENCIES_1) | | > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | | | | | | | 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 | am__objects_139 = lib1906-first.$(OBJEXT) am__objects_140 = lib1906-testutil.$(OBJEXT) am__objects_141 = ../../lib/lib1906-warnless.$(OBJEXT) am_lib1906_OBJECTS = lib1906-lib1906.$(OBJEXT) $(am__objects_139) \ $(am__objects_140) $(am__objects_141) lib1906_OBJECTS = $(am_lib1906_OBJECTS) lib1906_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_142 = lib1907-first.$(OBJEXT) am__objects_143 = lib1907-testutil.$(OBJEXT) am__objects_144 = ../../lib/lib1907-warnless.$(OBJEXT) am_lib1907_OBJECTS = lib1907-lib1907.$(OBJEXT) $(am__objects_142) \ $(am__objects_143) $(am__objects_144) lib1907_OBJECTS = $(am_lib1907_OBJECTS) lib1907_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_145 = lib2033-first.$(OBJEXT) am__objects_146 = lib2033-testutil.$(OBJEXT) am__objects_147 = ../../lib/lib2033-warnless.$(OBJEXT) am_lib2033_OBJECTS = lib2033-libntlmconnect.$(OBJEXT) \ $(am__objects_145) $(am__objects_146) $(am__objects_147) lib2033_OBJECTS = $(am_lib2033_OBJECTS) lib2033_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_148 = lib500-first.$(OBJEXT) am__objects_149 = lib500-testutil.$(OBJEXT) am__objects_150 = lib500-testtrace.$(OBJEXT) am_lib500_OBJECTS = lib500-lib500.$(OBJEXT) $(am__objects_148) \ $(am__objects_149) $(am__objects_150) lib500_OBJECTS = $(am_lib500_OBJECTS) lib500_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_151 = lib501-first.$(OBJEXT) am_lib501_OBJECTS = lib501-lib501.$(OBJEXT) $(am__objects_151) lib501_OBJECTS = $(am_lib501_OBJECTS) lib501_LDADD = $(LDADD) lib501_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_152 = lib502-first.$(OBJEXT) am__objects_153 = lib502-testutil.$(OBJEXT) am__objects_154 = ../../lib/lib502-warnless.$(OBJEXT) am_lib502_OBJECTS = lib502-lib502.$(OBJEXT) $(am__objects_152) \ $(am__objects_153) $(am__objects_154) lib502_OBJECTS = $(am_lib502_OBJECTS) lib502_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_155 = lib503-first.$(OBJEXT) am__objects_156 = lib503-testutil.$(OBJEXT) am__objects_157 = ../../lib/lib503-warnless.$(OBJEXT) am_lib503_OBJECTS = lib503-lib503.$(OBJEXT) $(am__objects_155) \ $(am__objects_156) $(am__objects_157) lib503_OBJECTS = $(am_lib503_OBJECTS) lib503_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_158 = lib504-first.$(OBJEXT) am__objects_159 = lib504-testutil.$(OBJEXT) am__objects_160 = ../../lib/lib504-warnless.$(OBJEXT) am_lib504_OBJECTS = lib504-lib504.$(OBJEXT) $(am__objects_158) \ $(am__objects_159) $(am__objects_160) lib504_OBJECTS = $(am_lib504_OBJECTS) lib504_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_161 = lib505-first.$(OBJEXT) am_lib505_OBJECTS = lib505-lib505.$(OBJEXT) $(am__objects_161) lib505_OBJECTS = $(am_lib505_OBJECTS) lib505_LDADD = $(LDADD) lib505_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_162 = lib506-first.$(OBJEXT) am_lib506_OBJECTS = lib506-lib506.$(OBJEXT) $(am__objects_162) lib506_OBJECTS = $(am_lib506_OBJECTS) lib506_LDADD = $(LDADD) lib506_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_163 = lib507-first.$(OBJEXT) am__objects_164 = lib507-testutil.$(OBJEXT) am__objects_165 = ../../lib/lib507-warnless.$(OBJEXT) am_lib507_OBJECTS = lib507-lib507.$(OBJEXT) $(am__objects_163) \ $(am__objects_164) $(am__objects_165) lib507_OBJECTS = $(am_lib507_OBJECTS) lib507_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_166 = lib508-first.$(OBJEXT) am_lib508_OBJECTS = lib508-lib508.$(OBJEXT) $(am__objects_166) lib508_OBJECTS = $(am_lib508_OBJECTS) lib508_LDADD = $(LDADD) lib508_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_167 = lib509-first.$(OBJEXT) am_lib509_OBJECTS = lib509-lib509.$(OBJEXT) $(am__objects_167) lib509_OBJECTS = $(am_lib509_OBJECTS) lib509_LDADD = $(LDADD) lib509_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_168 = lib510-first.$(OBJEXT) am_lib510_OBJECTS = lib510-lib510.$(OBJEXT) $(am__objects_168) lib510_OBJECTS = $(am_lib510_OBJECTS) lib510_LDADD = $(LDADD) lib510_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_169 = lib511-first.$(OBJEXT) am_lib511_OBJECTS = lib511-lib511.$(OBJEXT) $(am__objects_169) lib511_OBJECTS = $(am_lib511_OBJECTS) lib511_LDADD = $(LDADD) lib511_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_170 = lib512-first.$(OBJEXT) am_lib512_OBJECTS = lib512-lib512.$(OBJEXT) $(am__objects_170) lib512_OBJECTS = $(am_lib512_OBJECTS) lib512_LDADD = $(LDADD) lib512_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_171 = lib513-first.$(OBJEXT) am_lib513_OBJECTS = lib513-lib513.$(OBJEXT) $(am__objects_171) lib513_OBJECTS = $(am_lib513_OBJECTS) lib513_LDADD = $(LDADD) lib513_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_172 = lib514-first.$(OBJEXT) am_lib514_OBJECTS = lib514-lib514.$(OBJEXT) $(am__objects_172) lib514_OBJECTS = $(am_lib514_OBJECTS) lib514_LDADD = $(LDADD) lib514_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_173 = lib515-first.$(OBJEXT) am_lib515_OBJECTS = lib515-lib515.$(OBJEXT) $(am__objects_173) lib515_OBJECTS = $(am_lib515_OBJECTS) lib515_LDADD = $(LDADD) lib515_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_174 = lib516-first.$(OBJEXT) am_lib516_OBJECTS = lib516-lib516.$(OBJEXT) $(am__objects_174) lib516_OBJECTS = $(am_lib516_OBJECTS) lib516_LDADD = $(LDADD) lib516_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_175 = lib517-first.$(OBJEXT) am_lib517_OBJECTS = lib517-lib517.$(OBJEXT) $(am__objects_175) lib517_OBJECTS = $(am_lib517_OBJECTS) lib517_LDADD = $(LDADD) lib517_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_176 = lib518-first.$(OBJEXT) am__objects_177 = ../../lib/lib518-warnless.$(OBJEXT) am_lib518_OBJECTS = lib518-lib518.$(OBJEXT) $(am__objects_176) \ $(am__objects_177) lib518_OBJECTS = $(am_lib518_OBJECTS) lib518_LDADD = $(LDADD) lib518_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_178 = lib519-first.$(OBJEXT) am_lib519_OBJECTS = lib519-lib519.$(OBJEXT) $(am__objects_178) lib519_OBJECTS = $(am_lib519_OBJECTS) lib519_LDADD = $(LDADD) lib519_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_179 = lib520-first.$(OBJEXT) am_lib520_OBJECTS = lib520-lib520.$(OBJEXT) $(am__objects_179) lib520_OBJECTS = $(am_lib520_OBJECTS) lib520_LDADD = $(LDADD) lib520_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_180 = lib521-first.$(OBJEXT) am_lib521_OBJECTS = lib521-lib521.$(OBJEXT) $(am__objects_180) lib521_OBJECTS = $(am_lib521_OBJECTS) lib521_LDADD = $(LDADD) lib521_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_181 = lib523-first.$(OBJEXT) am_lib523_OBJECTS = lib523-lib523.$(OBJEXT) $(am__objects_181) lib523_OBJECTS = $(am_lib523_OBJECTS) lib523_LDADD = $(LDADD) lib523_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_182 = lib524-first.$(OBJEXT) am_lib524_OBJECTS = lib524-lib524.$(OBJEXT) $(am__objects_182) lib524_OBJECTS = $(am_lib524_OBJECTS) lib524_LDADD = $(LDADD) lib524_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_183 = lib525-first.$(OBJEXT) am__objects_184 = lib525-testutil.$(OBJEXT) am__objects_185 = ../../lib/lib525-warnless.$(OBJEXT) am_lib525_OBJECTS = lib525-lib525.$(OBJEXT) $(am__objects_183) \ $(am__objects_184) $(am__objects_185) lib525_OBJECTS = $(am_lib525_OBJECTS) lib525_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_186 = lib526-first.$(OBJEXT) am__objects_187 = lib526-testutil.$(OBJEXT) am__objects_188 = ../../lib/lib526-warnless.$(OBJEXT) am_lib526_OBJECTS = lib526-lib526.$(OBJEXT) $(am__objects_186) \ $(am__objects_187) $(am__objects_188) lib526_OBJECTS = $(am_lib526_OBJECTS) lib526_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_189 = lib527-first.$(OBJEXT) am__objects_190 = lib527-testutil.$(OBJEXT) am__objects_191 = ../../lib/lib527-warnless.$(OBJEXT) am_lib527_OBJECTS = lib527-lib526.$(OBJEXT) $(am__objects_189) \ $(am__objects_190) $(am__objects_191) lib527_OBJECTS = $(am_lib527_OBJECTS) lib527_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_192 = lib529-first.$(OBJEXT) am__objects_193 = lib529-testutil.$(OBJEXT) am__objects_194 = ../../lib/lib529-warnless.$(OBJEXT) am_lib529_OBJECTS = lib529-lib525.$(OBJEXT) $(am__objects_192) \ $(am__objects_193) $(am__objects_194) lib529_OBJECTS = $(am_lib529_OBJECTS) lib529_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_195 = lib530-first.$(OBJEXT) am__objects_196 = lib530-testutil.$(OBJEXT) am__objects_197 = ../../lib/lib530-warnless.$(OBJEXT) am_lib530_OBJECTS = lib530-lib530.$(OBJEXT) $(am__objects_195) \ $(am__objects_196) $(am__objects_197) lib530_OBJECTS = $(am_lib530_OBJECTS) lib530_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_198 = lib532-first.$(OBJEXT) am__objects_199 = lib532-testutil.$(OBJEXT) am__objects_200 = ../../lib/lib532-warnless.$(OBJEXT) am_lib532_OBJECTS = lib532-lib526.$(OBJEXT) $(am__objects_198) \ $(am__objects_199) $(am__objects_200) lib532_OBJECTS = $(am_lib532_OBJECTS) lib532_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_201 = lib533-first.$(OBJEXT) am__objects_202 = lib533-testutil.$(OBJEXT) am__objects_203 = ../../lib/lib533-warnless.$(OBJEXT) am_lib533_OBJECTS = lib533-lib533.$(OBJEXT) $(am__objects_201) \ $(am__objects_202) $(am__objects_203) lib533_OBJECTS = $(am_lib533_OBJECTS) lib533_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_204 = lib537-first.$(OBJEXT) am__objects_205 = ../../lib/lib537-warnless.$(OBJEXT) am_lib537_OBJECTS = lib537-lib537.$(OBJEXT) $(am__objects_204) \ $(am__objects_205) lib537_OBJECTS = $(am_lib537_OBJECTS) lib537_LDADD = $(LDADD) lib537_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_206 = lib539-first.$(OBJEXT) am_lib539_OBJECTS = lib539-lib539.$(OBJEXT) $(am__objects_206) lib539_OBJECTS = $(am_lib539_OBJECTS) lib539_LDADD = $(LDADD) lib539_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_207 = lib540-first.$(OBJEXT) am__objects_208 = lib540-testutil.$(OBJEXT) am__objects_209 = ../../lib/lib540-warnless.$(OBJEXT) am_lib540_OBJECTS = lib540-lib540.$(OBJEXT) $(am__objects_207) \ $(am__objects_208) $(am__objects_209) lib540_OBJECTS = $(am_lib540_OBJECTS) lib540_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_210 = lib541-first.$(OBJEXT) am_lib541_OBJECTS = lib541-lib541.$(OBJEXT) $(am__objects_210) lib541_OBJECTS = $(am_lib541_OBJECTS) lib541_LDADD = $(LDADD) lib541_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_211 = lib542-first.$(OBJEXT) am_lib542_OBJECTS = lib542-lib542.$(OBJEXT) $(am__objects_211) lib542_OBJECTS = $(am_lib542_OBJECTS) lib542_LDADD = $(LDADD) lib542_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_212 = lib543-first.$(OBJEXT) am_lib543_OBJECTS = lib543-lib543.$(OBJEXT) $(am__objects_212) lib543_OBJECTS = $(am_lib543_OBJECTS) lib543_LDADD = $(LDADD) lib543_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_213 = lib544-first.$(OBJEXT) am_lib544_OBJECTS = lib544-lib544.$(OBJEXT) $(am__objects_213) lib544_OBJECTS = $(am_lib544_OBJECTS) lib544_LDADD = $(LDADD) lib544_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_214 = lib545-first.$(OBJEXT) am_lib545_OBJECTS = lib545-lib544.$(OBJEXT) $(am__objects_214) lib545_OBJECTS = $(am_lib545_OBJECTS) lib545_LDADD = $(LDADD) lib545_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_215 = lib547-first.$(OBJEXT) am_lib547_OBJECTS = lib547-lib547.$(OBJEXT) $(am__objects_215) lib547_OBJECTS = $(am_lib547_OBJECTS) lib547_LDADD = $(LDADD) lib547_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_216 = lib548-first.$(OBJEXT) am_lib548_OBJECTS = lib548-lib547.$(OBJEXT) $(am__objects_216) lib548_OBJECTS = $(am_lib548_OBJECTS) lib548_LDADD = $(LDADD) lib548_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_217 = lib549-first.$(OBJEXT) am_lib549_OBJECTS = lib549-lib549.$(OBJEXT) $(am__objects_217) lib549_OBJECTS = $(am_lib549_OBJECTS) lib549_LDADD = $(LDADD) lib549_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_218 = lib552-first.$(OBJEXT) am__objects_219 = ../../lib/lib552-warnless.$(OBJEXT) am_lib552_OBJECTS = lib552-lib552.$(OBJEXT) $(am__objects_218) \ $(am__objects_219) lib552_OBJECTS = $(am_lib552_OBJECTS) lib552_LDADD = $(LDADD) lib552_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_220 = lib553-first.$(OBJEXT) am_lib553_OBJECTS = lib553-lib553.$(OBJEXT) $(am__objects_220) lib553_OBJECTS = $(am_lib553_OBJECTS) lib553_LDADD = $(LDADD) lib553_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_221 = lib554-first.$(OBJEXT) am_lib554_OBJECTS = lib554-lib554.$(OBJEXT) $(am__objects_221) lib554_OBJECTS = $(am_lib554_OBJECTS) lib554_LDADD = $(LDADD) lib554_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_222 = lib555-first.$(OBJEXT) am__objects_223 = lib555-testutil.$(OBJEXT) am__objects_224 = ../../lib/lib555-warnless.$(OBJEXT) am_lib555_OBJECTS = lib555-lib555.$(OBJEXT) $(am__objects_222) \ $(am__objects_223) $(am__objects_224) lib555_OBJECTS = $(am_lib555_OBJECTS) lib555_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_225 = lib556-first.$(OBJEXT) am__objects_226 = ../../lib/lib556-warnless.$(OBJEXT) am_lib556_OBJECTS = lib556-lib556.$(OBJEXT) $(am__objects_225) \ $(am__objects_226) lib556_OBJECTS = $(am_lib556_OBJECTS) lib556_LDADD = $(LDADD) lib556_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_227 = lib557-first.$(OBJEXT) am_lib557_OBJECTS = lib557-lib557.$(OBJEXT) $(am__objects_227) lib557_OBJECTS = $(am_lib557_OBJECTS) lib557_LDADD = $(LDADD) lib557_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_228 = lib558-first.$(OBJEXT) am_lib558_OBJECTS = lib558-lib558.$(OBJEXT) $(am__objects_228) lib558_OBJECTS = $(am_lib558_OBJECTS) lib558_LDADD = $(LDADD) lib558_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_229 = lib559-first.$(OBJEXT) am_lib559_OBJECTS = lib559-lib559.$(OBJEXT) $(am__objects_229) lib559_OBJECTS = $(am_lib559_OBJECTS) lib559_LDADD = $(LDADD) lib559_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_230 = lib560-first.$(OBJEXT) am__objects_231 = lib560-testutil.$(OBJEXT) am__objects_232 = ../../lib/lib560-warnless.$(OBJEXT) am_lib560_OBJECTS = lib560-lib560.$(OBJEXT) $(am__objects_230) \ $(am__objects_231) $(am__objects_232) lib560_OBJECTS = $(am_lib560_OBJECTS) lib560_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_233 = lib562-first.$(OBJEXT) am_lib562_OBJECTS = lib562-lib562.$(OBJEXT) $(am__objects_233) lib562_OBJECTS = $(am_lib562_OBJECTS) lib562_LDADD = $(LDADD) lib562_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_234 = lib564-first.$(OBJEXT) am__objects_235 = lib564-testutil.$(OBJEXT) am__objects_236 = ../../lib/lib564-warnless.$(OBJEXT) am_lib564_OBJECTS = lib564-lib564.$(OBJEXT) $(am__objects_234) \ $(am__objects_235) $(am__objects_236) lib564_OBJECTS = $(am_lib564_OBJECTS) lib564_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_237 = lib565-first.$(OBJEXT) am_lib565_OBJECTS = lib565-lib510.$(OBJEXT) $(am__objects_237) lib565_OBJECTS = $(am_lib565_OBJECTS) lib565_LDADD = $(LDADD) lib565_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_238 = lib566-first.$(OBJEXT) am_lib566_OBJECTS = lib566-lib566.$(OBJEXT) $(am__objects_238) lib566_OBJECTS = $(am_lib566_OBJECTS) lib566_LDADD = $(LDADD) lib566_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_239 = lib567-first.$(OBJEXT) am_lib567_OBJECTS = lib567-lib567.$(OBJEXT) $(am__objects_239) lib567_OBJECTS = $(am_lib567_OBJECTS) lib567_LDADD = $(LDADD) lib567_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_240 = lib568-first.$(OBJEXT) am_lib568_OBJECTS = lib568-lib568.$(OBJEXT) $(am__objects_240) lib568_OBJECTS = $(am_lib568_OBJECTS) lib568_LDADD = $(LDADD) lib568_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_241 = lib569-first.$(OBJEXT) am_lib569_OBJECTS = lib569-lib569.$(OBJEXT) $(am__objects_241) lib569_OBJECTS = $(am_lib569_OBJECTS) lib569_LDADD = $(LDADD) lib569_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_242 = lib570-first.$(OBJEXT) am_lib570_OBJECTS = lib570-lib570.$(OBJEXT) $(am__objects_242) lib570_OBJECTS = $(am_lib570_OBJECTS) lib570_LDADD = $(LDADD) lib570_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_243 = lib571-first.$(OBJEXT) am__objects_244 = ../../lib/lib571-warnless.$(OBJEXT) am_lib571_OBJECTS = lib571-lib571.$(OBJEXT) $(am__objects_243) \ $(am__objects_244) lib571_OBJECTS = $(am_lib571_OBJECTS) lib571_LDADD = $(LDADD) lib571_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_245 = lib572-first.$(OBJEXT) am_lib572_OBJECTS = lib572-lib572.$(OBJEXT) $(am__objects_245) lib572_OBJECTS = $(am_lib572_OBJECTS) lib572_LDADD = $(LDADD) lib572_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_246 = lib573-first.$(OBJEXT) am__objects_247 = lib573-testutil.$(OBJEXT) am__objects_248 = ../../lib/lib573-warnless.$(OBJEXT) am__objects_249 = lib573-testtrace.$(OBJEXT) am_lib573_OBJECTS = lib573-lib573.$(OBJEXT) $(am__objects_246) \ $(am__objects_247) $(am__objects_248) $(am__objects_249) lib573_OBJECTS = $(am_lib573_OBJECTS) lib573_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_250 = lib574-first.$(OBJEXT) am_lib574_OBJECTS = lib574-lib574.$(OBJEXT) $(am__objects_250) lib574_OBJECTS = $(am_lib574_OBJECTS) lib574_LDADD = $(LDADD) lib574_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_251 = lib575-first.$(OBJEXT) am__objects_252 = lib575-testutil.$(OBJEXT) am__objects_253 = ../../lib/lib575-warnless.$(OBJEXT) am_lib575_OBJECTS = lib575-lib575.$(OBJEXT) $(am__objects_251) \ $(am__objects_252) $(am__objects_253) lib575_OBJECTS = $(am_lib575_OBJECTS) lib575_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_254 = lib576-first.$(OBJEXT) am_lib576_OBJECTS = lib576-lib576.$(OBJEXT) $(am__objects_254) lib576_OBJECTS = $(am_lib576_OBJECTS) lib576_LDADD = $(LDADD) lib576_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_255 = lib578-first.$(OBJEXT) am_lib578_OBJECTS = lib578-lib578.$(OBJEXT) $(am__objects_255) lib578_OBJECTS = $(am_lib578_OBJECTS) lib578_LDADD = $(LDADD) lib578_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_256 = lib579-first.$(OBJEXT) am_lib579_OBJECTS = lib579-lib579.$(OBJEXT) $(am__objects_256) lib579_OBJECTS = $(am_lib579_OBJECTS) lib579_LDADD = $(LDADD) lib579_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_257 = lib582-first.$(OBJEXT) am__objects_258 = lib582-testutil.$(OBJEXT) am__objects_259 = ../../lib/lib582-warnless.$(OBJEXT) am_lib582_OBJECTS = lib582-lib582.$(OBJEXT) $(am__objects_257) \ $(am__objects_258) $(am__objects_259) lib582_OBJECTS = $(am_lib582_OBJECTS) lib582_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_260 = lib583-first.$(OBJEXT) am_lib583_OBJECTS = lib583-lib583.$(OBJEXT) $(am__objects_260) lib583_OBJECTS = $(am_lib583_OBJECTS) lib583_LDADD = $(LDADD) lib583_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_261 = lib585-first.$(OBJEXT) am__objects_262 = lib585-testutil.$(OBJEXT) am__objects_263 = lib585-testtrace.$(OBJEXT) am_lib585_OBJECTS = lib585-lib500.$(OBJEXT) $(am__objects_261) \ $(am__objects_262) $(am__objects_263) lib585_OBJECTS = $(am_lib585_OBJECTS) lib585_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_264 = lib586-first.$(OBJEXT) am_lib586_OBJECTS = lib586-lib586.$(OBJEXT) $(am__objects_264) lib586_OBJECTS = $(am_lib586_OBJECTS) lib586_LDADD = $(LDADD) lib586_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_265 = lib587-first.$(OBJEXT) am_lib587_OBJECTS = lib587-lib554.$(OBJEXT) $(am__objects_265) lib587_OBJECTS = $(am_lib587_OBJECTS) lib587_LDADD = $(LDADD) lib587_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_266 = lib589-first.$(OBJEXT) am_lib589_OBJECTS = lib589-lib589.$(OBJEXT) $(am__objects_266) lib589_OBJECTS = $(am_lib589_OBJECTS) lib589_LDADD = $(LDADD) lib589_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_267 = lib590-first.$(OBJEXT) am_lib590_OBJECTS = lib590-lib590.$(OBJEXT) $(am__objects_267) lib590_OBJECTS = $(am_lib590_OBJECTS) lib590_LDADD = $(LDADD) lib590_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_268 = lib591-first.$(OBJEXT) am__objects_269 = lib591-testutil.$(OBJEXT) am__objects_270 = ../../lib/lib591-warnless.$(OBJEXT) am_lib591_OBJECTS = lib591-lib591.$(OBJEXT) $(am__objects_268) \ $(am__objects_269) $(am__objects_270) lib591_OBJECTS = $(am_lib591_OBJECTS) lib591_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_271 = lib597-first.$(OBJEXT) am__objects_272 = lib597-testutil.$(OBJEXT) am__objects_273 = ../../lib/lib597-warnless.$(OBJEXT) am_lib597_OBJECTS = lib597-lib597.$(OBJEXT) $(am__objects_271) \ $(am__objects_272) $(am__objects_273) lib597_OBJECTS = $(am_lib597_OBJECTS) lib597_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_274 = lib598-first.$(OBJEXT) am_lib598_OBJECTS = lib598-lib598.$(OBJEXT) $(am__objects_274) lib598_OBJECTS = $(am_lib598_OBJECTS) lib598_LDADD = $(LDADD) lib598_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_275 = lib599-first.$(OBJEXT) am_lib599_OBJECTS = lib599-lib599.$(OBJEXT) $(am__objects_275) lib599_OBJECTS = $(am_lib599_OBJECTS) lib599_LDADD = $(LDADD) lib599_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_276 = lib643-first.$(OBJEXT) am_lib643_OBJECTS = lib643-lib643.$(OBJEXT) $(am__objects_276) lib643_OBJECTS = $(am_lib643_OBJECTS) lib643_LDADD = $(LDADD) lib643_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_277 = lib644-first.$(OBJEXT) am_lib644_OBJECTS = lib644-lib643.$(OBJEXT) $(am__objects_277) lib644_OBJECTS = $(am_lib644_OBJECTS) lib644_LDADD = $(LDADD) lib644_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_278 = lib645-first.$(OBJEXT) am_lib645_OBJECTS = lib645-lib643.$(OBJEXT) $(am__objects_278) lib645_OBJECTS = $(am_lib645_OBJECTS) lib645_LDADD = $(LDADD) lib645_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_279 = lib650-first.$(OBJEXT) am_lib650_OBJECTS = lib650-lib650.$(OBJEXT) $(am__objects_279) lib650_OBJECTS = $(am_lib650_OBJECTS) lib650_LDADD = $(LDADD) lib650_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_280 = lib651-first.$(OBJEXT) am_lib651_OBJECTS = lib651-lib651.$(OBJEXT) $(am__objects_280) lib651_OBJECTS = $(am_lib651_OBJECTS) lib651_LDADD = $(LDADD) lib651_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_281 = lib652-first.$(OBJEXT) am_lib652_OBJECTS = lib652-lib652.$(OBJEXT) $(am__objects_281) lib652_OBJECTS = $(am_lib652_OBJECTS) lib652_LDADD = $(LDADD) lib652_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_282 = lib653-first.$(OBJEXT) am_lib653_OBJECTS = lib653-lib653.$(OBJEXT) $(am__objects_282) lib653_OBJECTS = $(am_lib653_OBJECTS) lib653_LDADD = $(LDADD) lib653_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_283 = lib654-first.$(OBJEXT) am_lib654_OBJECTS = lib654-lib654.$(OBJEXT) $(am__objects_283) lib654_OBJECTS = $(am_lib654_OBJECTS) lib654_LDADD = $(LDADD) lib654_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_284 = lib655-first.$(OBJEXT) am_lib655_OBJECTS = lib655-lib655.$(OBJEXT) $(am__objects_284) lib655_OBJECTS = $(am_lib655_OBJECTS) lib655_LDADD = $(LDADD) lib655_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_285 = lib658-first.$(OBJEXT) am__objects_286 = lib658-testutil.$(OBJEXT) am__objects_287 = ../../lib/lib658-warnless.$(OBJEXT) am_lib658_OBJECTS = lib658-lib658.$(OBJEXT) $(am__objects_285) \ $(am__objects_286) $(am__objects_287) lib658_OBJECTS = $(am_lib658_OBJECTS) lib658_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_288 = lib659-first.$(OBJEXT) am__objects_289 = lib659-testutil.$(OBJEXT) am__objects_290 = ../../lib/lib659-warnless.$(OBJEXT) am_lib659_OBJECTS = lib659-lib659.$(OBJEXT) $(am__objects_288) \ $(am__objects_289) $(am__objects_290) lib659_OBJECTS = $(am_lib659_OBJECTS) lib659_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_291 = lib661-first.$(OBJEXT) am_lib661_OBJECTS = lib661-lib661.$(OBJEXT) $(am__objects_291) lib661_OBJECTS = $(am_lib661_OBJECTS) lib661_LDADD = $(LDADD) lib661_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_292 = libauthretry-first.$(OBJEXT) am_libauthretry_OBJECTS = libauthretry-libauthretry.$(OBJEXT) \ $(am__objects_292) libauthretry_OBJECTS = $(am_libauthretry_OBJECTS) libauthretry_LDADD = $(LDADD) libauthretry_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_293 = libntlmconnect-first.$(OBJEXT) am__objects_294 = libntlmconnect-testutil.$(OBJEXT) am__objects_295 = ../../lib/libntlmconnect-warnless.$(OBJEXT) am_libntlmconnect_OBJECTS = libntlmconnect-libntlmconnect.$(OBJEXT) \ $(am__objects_293) $(am__objects_294) $(am__objects_295) libntlmconnect_OBJECTS = $(am_libntlmconnect_OBJECTS) libntlmconnect_DEPENDENCIES = $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) |
︙ | ︙ | |||
1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 | ../../lib/$(DEPDIR)/lib1557-warnless.Po \ ../../lib/$(DEPDIR)/lib1591-warnless.Po \ ../../lib/$(DEPDIR)/lib1592-warnless.Po \ ../../lib/$(DEPDIR)/lib1596-warnless.Po \ ../../lib/$(DEPDIR)/lib1900-warnless.Po \ ../../lib/$(DEPDIR)/lib1905-warnless.Po \ ../../lib/$(DEPDIR)/lib1906-warnless.Po \ ../../lib/$(DEPDIR)/lib2033-warnless.Po \ ../../lib/$(DEPDIR)/lib502-warnless.Po \ ../../lib/$(DEPDIR)/lib503-warnless.Po \ ../../lib/$(DEPDIR)/lib504-warnless.Po \ ../../lib/$(DEPDIR)/lib507-warnless.Po \ ../../lib/$(DEPDIR)/lib518-warnless.Po \ ../../lib/$(DEPDIR)/lib525-warnless.Po \ | > | 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 | ../../lib/$(DEPDIR)/lib1557-warnless.Po \ ../../lib/$(DEPDIR)/lib1591-warnless.Po \ ../../lib/$(DEPDIR)/lib1592-warnless.Po \ ../../lib/$(DEPDIR)/lib1596-warnless.Po \ ../../lib/$(DEPDIR)/lib1900-warnless.Po \ ../../lib/$(DEPDIR)/lib1905-warnless.Po \ ../../lib/$(DEPDIR)/lib1906-warnless.Po \ ../../lib/$(DEPDIR)/lib1907-warnless.Po \ ../../lib/$(DEPDIR)/lib2033-warnless.Po \ ../../lib/$(DEPDIR)/lib502-warnless.Po \ ../../lib/$(DEPDIR)/lib503-warnless.Po \ ../../lib/$(DEPDIR)/lib504-warnless.Po \ ../../lib/$(DEPDIR)/lib507-warnless.Po \ ../../lib/$(DEPDIR)/lib518-warnless.Po \ ../../lib/$(DEPDIR)/lib525-warnless.Po \ |
︙ | ︙ | |||
1275 1276 1277 1278 1279 1280 1281 | ./$(DEPDIR)/lib1592-testutil.Po ./$(DEPDIR)/lib1593.Po \ ./$(DEPDIR)/lib1594.Po ./$(DEPDIR)/lib1596-first.Po \ ./$(DEPDIR)/lib1596-lib1594.Po ./$(DEPDIR)/lib1596-testutil.Po \ ./$(DEPDIR)/lib1900-first.Po ./$(DEPDIR)/lib1900-lib1900.Po \ ./$(DEPDIR)/lib1900-testutil.Po ./$(DEPDIR)/lib1905-first.Po \ ./$(DEPDIR)/lib1905-lib1905.Po ./$(DEPDIR)/lib1905-testutil.Po \ ./$(DEPDIR)/lib1906-first.Po ./$(DEPDIR)/lib1906-lib1906.Po \ | | > > | 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 | ./$(DEPDIR)/lib1592-testutil.Po ./$(DEPDIR)/lib1593.Po \ ./$(DEPDIR)/lib1594.Po ./$(DEPDIR)/lib1596-first.Po \ ./$(DEPDIR)/lib1596-lib1594.Po ./$(DEPDIR)/lib1596-testutil.Po \ ./$(DEPDIR)/lib1900-first.Po ./$(DEPDIR)/lib1900-lib1900.Po \ ./$(DEPDIR)/lib1900-testutil.Po ./$(DEPDIR)/lib1905-first.Po \ ./$(DEPDIR)/lib1905-lib1905.Po ./$(DEPDIR)/lib1905-testutil.Po \ ./$(DEPDIR)/lib1906-first.Po ./$(DEPDIR)/lib1906-lib1906.Po \ ./$(DEPDIR)/lib1906-testutil.Po ./$(DEPDIR)/lib1907-first.Po \ ./$(DEPDIR)/lib1907-lib1907.Po ./$(DEPDIR)/lib1907-testutil.Po \ ./$(DEPDIR)/lib2033-first.Po \ ./$(DEPDIR)/lib2033-libntlmconnect.Po \ ./$(DEPDIR)/lib2033-testutil.Po ./$(DEPDIR)/lib500-first.Po \ ./$(DEPDIR)/lib500-lib500.Po ./$(DEPDIR)/lib500-testtrace.Po \ ./$(DEPDIR)/lib500-testutil.Po ./$(DEPDIR)/lib501-first.Po \ ./$(DEPDIR)/lib501-lib501.Po ./$(DEPDIR)/lib502-first.Po \ ./$(DEPDIR)/lib502-lib502.Po ./$(DEPDIR)/lib502-testutil.Po \ ./$(DEPDIR)/lib503-first.Po ./$(DEPDIR)/lib503-lib503.Po \ |
︙ | ︙ | |||
1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 | ./$(DEPDIR)/lib652-first.Po ./$(DEPDIR)/lib652-lib652.Po \ ./$(DEPDIR)/lib653-first.Po ./$(DEPDIR)/lib653-lib653.Po \ ./$(DEPDIR)/lib654-first.Po ./$(DEPDIR)/lib654-lib654.Po \ ./$(DEPDIR)/lib655-first.Po ./$(DEPDIR)/lib655-lib655.Po \ ./$(DEPDIR)/lib658-first.Po ./$(DEPDIR)/lib658-lib658.Po \ ./$(DEPDIR)/lib658-testutil.Po ./$(DEPDIR)/lib659-first.Po \ ./$(DEPDIR)/lib659-lib659.Po ./$(DEPDIR)/lib659-testutil.Po \ ./$(DEPDIR)/libauthretry-first.Po \ ./$(DEPDIR)/libauthretry-libauthretry.Po \ ./$(DEPDIR)/libhostname_la-sethostname.Plo \ ./$(DEPDIR)/libntlmconnect-first.Po \ ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po \ ./$(DEPDIR)/libntlmconnect-testutil.Po \ ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo \ | > | 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 | ./$(DEPDIR)/lib652-first.Po ./$(DEPDIR)/lib652-lib652.Po \ ./$(DEPDIR)/lib653-first.Po ./$(DEPDIR)/lib653-lib653.Po \ ./$(DEPDIR)/lib654-first.Po ./$(DEPDIR)/lib654-lib654.Po \ ./$(DEPDIR)/lib655-first.Po ./$(DEPDIR)/lib655-lib655.Po \ ./$(DEPDIR)/lib658-first.Po ./$(DEPDIR)/lib658-lib658.Po \ ./$(DEPDIR)/lib658-testutil.Po ./$(DEPDIR)/lib659-first.Po \ ./$(DEPDIR)/lib659-lib659.Po ./$(DEPDIR)/lib659-testutil.Po \ ./$(DEPDIR)/lib661-first.Po ./$(DEPDIR)/lib661-lib661.Po \ ./$(DEPDIR)/libauthretry-first.Po \ ./$(DEPDIR)/libauthretry-libauthretry.Po \ ./$(DEPDIR)/libhostname_la-sethostname.Plo \ ./$(DEPDIR)/libntlmconnect-first.Po \ ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po \ ./$(DEPDIR)/libntlmconnect-testutil.Po \ ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo \ |
︙ | ︙ | |||
1429 1430 1431 1432 1433 1434 1435 | $(lib1540_SOURCES) $(lib1541_SOURCES) $(lib1550_SOURCES) \ $(lib1551_SOURCES) $(lib1552_SOURCES) $(lib1553_SOURCES) \ $(lib1554_SOURCES) $(lib1555_SOURCES) $(lib1556_SOURCES) \ $(lib1557_SOURCES) $(lib1558_SOURCES) $(lib1559_SOURCES) \ $(lib1560_SOURCES) $(lib1591_SOURCES) $(lib1592_SOURCES) \ $(lib1593_SOURCES) $(lib1594_SOURCES) $(lib1596_SOURCES) \ $(lib1900_SOURCES) $(lib1905_SOURCES) $(lib1906_SOURCES) \ | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 | $(lib1540_SOURCES) $(lib1541_SOURCES) $(lib1550_SOURCES) \ $(lib1551_SOURCES) $(lib1552_SOURCES) $(lib1553_SOURCES) \ $(lib1554_SOURCES) $(lib1555_SOURCES) $(lib1556_SOURCES) \ $(lib1557_SOURCES) $(lib1558_SOURCES) $(lib1559_SOURCES) \ $(lib1560_SOURCES) $(lib1591_SOURCES) $(lib1592_SOURCES) \ $(lib1593_SOURCES) $(lib1594_SOURCES) $(lib1596_SOURCES) \ $(lib1900_SOURCES) $(lib1905_SOURCES) $(lib1906_SOURCES) \ $(lib1907_SOURCES) $(lib2033_SOURCES) $(lib500_SOURCES) \ $(lib501_SOURCES) $(lib502_SOURCES) $(lib503_SOURCES) \ $(lib504_SOURCES) $(lib505_SOURCES) $(lib506_SOURCES) \ $(lib507_SOURCES) $(lib508_SOURCES) $(lib509_SOURCES) \ $(lib510_SOURCES) $(lib511_SOURCES) $(lib512_SOURCES) \ $(lib513_SOURCES) $(lib514_SOURCES) $(lib515_SOURCES) \ $(lib516_SOURCES) $(lib517_SOURCES) $(lib518_SOURCES) \ $(lib519_SOURCES) $(lib520_SOURCES) $(lib521_SOURCES) \ |
︙ | ︙ | |||
1511 1512 1513 1514 1515 1516 1517 | $(lib582_SOURCES) $(lib583_SOURCES) $(lib585_SOURCES) \ $(lib586_SOURCES) $(lib587_SOURCES) $(lib589_SOURCES) \ $(lib590_SOURCES) $(lib591_SOURCES) $(lib597_SOURCES) \ $(lib598_SOURCES) $(lib599_SOURCES) $(lib643_SOURCES) \ $(lib644_SOURCES) $(lib645_SOURCES) $(lib650_SOURCES) \ $(lib651_SOURCES) $(lib652_SOURCES) $(lib653_SOURCES) \ $(lib654_SOURCES) $(lib655_SOURCES) $(lib658_SOURCES) \ | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 | $(lib582_SOURCES) $(lib583_SOURCES) $(lib585_SOURCES) \ $(lib586_SOURCES) $(lib587_SOURCES) $(lib589_SOURCES) \ $(lib590_SOURCES) $(lib591_SOURCES) $(lib597_SOURCES) \ $(lib598_SOURCES) $(lib599_SOURCES) $(lib643_SOURCES) \ $(lib644_SOURCES) $(lib645_SOURCES) $(lib650_SOURCES) \ $(lib651_SOURCES) $(lib652_SOURCES) $(lib653_SOURCES) \ $(lib654_SOURCES) $(lib655_SOURCES) $(lib658_SOURCES) \ $(lib659_SOURCES) $(lib661_SOURCES) $(libauthretry_SOURCES) \ $(libntlmconnect_SOURCES) DIST_SOURCES = $(libhostname_la_SOURCES) \ $(am__libstubgss_la_SOURCES_DIST) $(chkdecimalpoint_SOURCES) \ $(chkhostname_SOURCES) $(lib1156_SOURCES) $(lib1500_SOURCES) \ $(lib1501_SOURCES) $(lib1502_SOURCES) $(lib1503_SOURCES) \ $(lib1504_SOURCES) $(lib1505_SOURCES) $(lib1506_SOURCES) \ $(lib1507_SOURCES) $(lib1508_SOURCES) $(lib1509_SOURCES) \ $(lib1510_SOURCES) $(lib1511_SOURCES) $(lib1512_SOURCES) \ $(lib1513_SOURCES) $(lib1514_SOURCES) $(lib1515_SOURCES) \ $(lib1517_SOURCES) $(lib1518_SOURCES) $(lib1520_SOURCES) \ $(lib1522_SOURCES) $(lib1523_SOURCES) $(lib1525_SOURCES) \ $(lib1526_SOURCES) $(lib1527_SOURCES) $(lib1528_SOURCES) \ $(lib1529_SOURCES) $(lib1530_SOURCES) $(lib1531_SOURCES) \ $(lib1532_SOURCES) $(lib1533_SOURCES) $(lib1534_SOURCES) \ $(lib1535_SOURCES) $(lib1536_SOURCES) $(lib1537_SOURCES) \ $(lib1538_SOURCES) $(lib1540_SOURCES) $(lib1541_SOURCES) \ $(lib1550_SOURCES) $(lib1551_SOURCES) $(lib1552_SOURCES) \ $(lib1553_SOURCES) $(lib1554_SOURCES) $(lib1555_SOURCES) \ $(lib1556_SOURCES) $(lib1557_SOURCES) $(lib1558_SOURCES) \ $(lib1559_SOURCES) $(lib1560_SOURCES) $(lib1591_SOURCES) \ $(lib1592_SOURCES) $(lib1593_SOURCES) $(lib1594_SOURCES) \ $(lib1596_SOURCES) $(lib1900_SOURCES) $(lib1905_SOURCES) \ $(lib1906_SOURCES) $(lib1907_SOURCES) $(lib2033_SOURCES) \ $(lib500_SOURCES) $(lib501_SOURCES) $(lib502_SOURCES) \ $(lib503_SOURCES) $(lib504_SOURCES) $(lib505_SOURCES) \ $(lib506_SOURCES) $(lib507_SOURCES) $(lib508_SOURCES) \ $(lib509_SOURCES) $(lib510_SOURCES) $(lib511_SOURCES) \ $(lib512_SOURCES) $(lib513_SOURCES) $(lib514_SOURCES) \ $(lib515_SOURCES) $(lib516_SOURCES) $(lib517_SOURCES) \ $(lib518_SOURCES) $(lib519_SOURCES) $(lib520_SOURCES) \ $(lib521_SOURCES) $(lib523_SOURCES) $(lib524_SOURCES) \ $(lib525_SOURCES) $(lib526_SOURCES) $(lib527_SOURCES) \ $(lib529_SOURCES) $(lib530_SOURCES) $(lib532_SOURCES) \ $(lib533_SOURCES) $(lib537_SOURCES) $(lib539_SOURCES) \ $(lib540_SOURCES) $(lib541_SOURCES) $(lib542_SOURCES) \ $(lib543_SOURCES) $(lib544_SOURCES) $(lib545_SOURCES) \ $(lib547_SOURCES) $(lib548_SOURCES) $(lib549_SOURCES) \ $(lib552_SOURCES) $(lib553_SOURCES) $(lib554_SOURCES) \ $(lib555_SOURCES) $(lib556_SOURCES) $(lib557_SOURCES) \ $(lib558_SOURCES) $(lib559_SOURCES) $(lib560_SOURCES) \ $(lib562_SOURCES) $(lib564_SOURCES) $(lib565_SOURCES) \ $(lib566_SOURCES) $(lib567_SOURCES) $(lib568_SOURCES) \ $(lib569_SOURCES) $(lib570_SOURCES) $(lib571_SOURCES) \ $(lib572_SOURCES) $(lib573_SOURCES) $(lib574_SOURCES) \ $(lib575_SOURCES) $(lib576_SOURCES) $(lib578_SOURCES) \ $(lib579_SOURCES) $(lib582_SOURCES) $(lib583_SOURCES) \ $(lib585_SOURCES) $(lib586_SOURCES) $(lib587_SOURCES) \ $(lib589_SOURCES) $(lib590_SOURCES) $(lib591_SOURCES) \ $(lib597_SOURCES) $(lib598_SOURCES) $(lib599_SOURCES) \ $(lib643_SOURCES) $(lib644_SOURCES) $(lib645_SOURCES) \ $(lib650_SOURCES) $(lib651_SOURCES) $(lib652_SOURCES) \ $(lib653_SOURCES) $(lib654_SOURCES) $(lib655_SOURCES) \ $(lib658_SOURCES) $(lib659_SOURCES) $(lib661_SOURCES) \ $(libauthretry_SOURCES) $(libntlmconnect_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, |
︙ | ︙ | |||
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 | lib655_CPPFLAGS = $(AM_CPPFLAGS) lib658_SOURCES = lib658.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib658_LDADD = $(TESTUTIL_LIBS) lib658_CPPFLAGS = $(AM_CPPFLAGS) lib659_SOURCES = lib659.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib659_LDADD = $(TESTUTIL_LIBS) lib659_CPPFLAGS = $(AM_CPPFLAGS) lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL) lib1500_LDADD = $(TESTUTIL_LIBS) lib1500_CPPFLAGS = $(AM_CPPFLAGS) lib1501_SOURCES = lib1501.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1501_LDADD = $(TESTUTIL_LIBS) lib1501_CPPFLAGS = $(AM_CPPFLAGS) lib1502_SOURCES = lib1502.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) | > > | 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 | lib655_CPPFLAGS = $(AM_CPPFLAGS) lib658_SOURCES = lib658.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib658_LDADD = $(TESTUTIL_LIBS) lib658_CPPFLAGS = $(AM_CPPFLAGS) lib659_SOURCES = lib659.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib659_LDADD = $(TESTUTIL_LIBS) lib659_CPPFLAGS = $(AM_CPPFLAGS) lib661_SOURCES = lib661.c $(SUPPORTFILES) lib661_CPPFLAGS = $(AM_CPPFLAGS) lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL) lib1500_LDADD = $(TESTUTIL_LIBS) lib1500_CPPFLAGS = $(AM_CPPFLAGS) lib1501_SOURCES = lib1501.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1501_LDADD = $(TESTUTIL_LIBS) lib1501_CPPFLAGS = $(AM_CPPFLAGS) lib1502_SOURCES = lib1502.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) |
︙ | ︙ | |||
2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 | lib1900_CPPFLAGS = $(AM_CPPFLAGS) lib1905_SOURCES = lib1905.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1905_LDADD = $(TESTUTIL_LIBS) lib1905_CPPFLAGS = $(AM_CPPFLAGS) lib1906_SOURCES = lib1906.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1906_LDADD = $(TESTUTIL_LIBS) lib1906_CPPFLAGS = $(AM_CPPFLAGS) lib2033_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib2033_LDADD = $(TESTUTIL_LIBS) lib2033_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PIPELINING @BUILD_LIBHOSTNAME_FALSE@noinst_LTLIBRARIES = $(am__append_6) # Makefile.inc provides the source defines (TESTUTIL, SUPPORTFILES, # noinst_PROGRAMS, lib*_SOURCES, and lib*_CFLAGS) | > > > | 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 | lib1900_CPPFLAGS = $(AM_CPPFLAGS) lib1905_SOURCES = lib1905.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1905_LDADD = $(TESTUTIL_LIBS) lib1905_CPPFLAGS = $(AM_CPPFLAGS) lib1906_SOURCES = lib1906.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1906_LDADD = $(TESTUTIL_LIBS) lib1906_CPPFLAGS = $(AM_CPPFLAGS) lib1907_SOURCES = lib1907.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1907_LDADD = $(TESTUTIL_LIBS) lib1907_CPPFLAGS = $(AM_CPPFLAGS) lib2033_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib2033_LDADD = $(TESTUTIL_LIBS) lib2033_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PIPELINING @BUILD_LIBHOSTNAME_FALSE@noinst_LTLIBRARIES = $(am__append_6) # Makefile.inc provides the source defines (TESTUTIL, SUPPORTFILES, # noinst_PROGRAMS, lib*_SOURCES, and lib*_CFLAGS) |
︙ | ︙ | |||
2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 | $(AM_V_CCLD)$(LINK) $(lib1905_OBJECTS) $(lib1905_LDADD) $(LIBS) ../../lib/lib1906-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1906$(EXEEXT): $(lib1906_OBJECTS) $(lib1906_DEPENDENCIES) $(EXTRA_lib1906_DEPENDENCIES) @rm -f lib1906$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1906_OBJECTS) $(lib1906_LDADD) $(LIBS) ../../lib/lib2033-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib2033$(EXEEXT): $(lib2033_OBJECTS) $(lib2033_DEPENDENCIES) $(EXTRA_lib2033_DEPENDENCIES) @rm -f lib2033$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib2033_OBJECTS) $(lib2033_LDADD) $(LIBS) | > > > > > > | 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 | $(AM_V_CCLD)$(LINK) $(lib1905_OBJECTS) $(lib1905_LDADD) $(LIBS) ../../lib/lib1906-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1906$(EXEEXT): $(lib1906_OBJECTS) $(lib1906_DEPENDENCIES) $(EXTRA_lib1906_DEPENDENCIES) @rm -f lib1906$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1906_OBJECTS) $(lib1906_LDADD) $(LIBS) ../../lib/lib1907-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1907$(EXEEXT): $(lib1907_OBJECTS) $(lib1907_DEPENDENCIES) $(EXTRA_lib1907_DEPENDENCIES) @rm -f lib1907$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1907_OBJECTS) $(lib1907_LDADD) $(LIBS) ../../lib/lib2033-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib2033$(EXEEXT): $(lib2033_OBJECTS) $(lib2033_DEPENDENCIES) $(EXTRA_lib2033_DEPENDENCIES) @rm -f lib2033$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib2033_OBJECTS) $(lib2033_LDADD) $(LIBS) |
︙ | ︙ | |||
3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 | $(AM_V_CCLD)$(LINK) $(lib658_OBJECTS) $(lib658_LDADD) $(LIBS) ../../lib/lib659-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib659$(EXEEXT): $(lib659_OBJECTS) $(lib659_DEPENDENCIES) $(EXTRA_lib659_DEPENDENCIES) @rm -f lib659$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib659_OBJECTS) $(lib659_LDADD) $(LIBS) libauthretry$(EXEEXT): $(libauthretry_OBJECTS) $(libauthretry_DEPENDENCIES) $(EXTRA_libauthretry_DEPENDENCIES) @rm -f libauthretry$(EXEEXT) $(AM_V_CCLD)$(LINK) $(libauthretry_OBJECTS) $(libauthretry_LDADD) $(LIBS) ../../lib/libntlmconnect-warnless.$(OBJEXT): \ ../../lib/$(am__dirstamp) ../../lib/$(DEPDIR)/$(am__dirstamp) | > > > > | 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 | $(AM_V_CCLD)$(LINK) $(lib658_OBJECTS) $(lib658_LDADD) $(LIBS) ../../lib/lib659-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib659$(EXEEXT): $(lib659_OBJECTS) $(lib659_DEPENDENCIES) $(EXTRA_lib659_DEPENDENCIES) @rm -f lib659$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib659_OBJECTS) $(lib659_LDADD) $(LIBS) lib661$(EXEEXT): $(lib661_OBJECTS) $(lib661_DEPENDENCIES) $(EXTRA_lib661_DEPENDENCIES) @rm -f lib661$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib661_OBJECTS) $(lib661_LDADD) $(LIBS) libauthretry$(EXEEXT): $(libauthretry_OBJECTS) $(libauthretry_DEPENDENCIES) $(EXTRA_libauthretry_DEPENDENCIES) @rm -f libauthretry$(EXEEXT) $(AM_V_CCLD)$(LINK) $(libauthretry_OBJECTS) $(libauthretry_LDADD) $(LIBS) ../../lib/libntlmconnect-warnless.$(OBJEXT): \ ../../lib/$(am__dirstamp) ../../lib/$(DEPDIR)/$(am__dirstamp) |
︙ | ︙ | |||
3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 | @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1557-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1591-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1592-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1596-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1900-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1905-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1906-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib2033-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib502-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib503-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib504-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib507-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib518-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib525-warnless.Po@am__quote@ # am--include-marker | > | 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 | @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1557-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1591-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1592-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1596-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1900-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1905-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1906-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1907-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib2033-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib502-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib503-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib504-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib507-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib518-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib525-warnless.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1900-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1905-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1905-lib1905.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1905-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1906-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1906-lib1906.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1906-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-libntlmconnect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-lib500.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-testtrace.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-testutil.Po@am__quote@ # am--include-marker | > > > | 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1900-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1905-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1905-lib1905.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1905-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1906-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1906-lib1906.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1906-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1907-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1907-lib1907.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1907-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-libntlmconnect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-lib500.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-testtrace.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-testutil.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib655-lib655.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-lib658.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib659-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib659-lib659.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib659-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libauthretry-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libauthretry-libauthretry.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhostname_la-sethostname.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-libntlmconnect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo@am__quote@ # am--include-marker | > > | 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib655-lib655.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-lib658.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib659-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib659-lib659.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib659-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib661-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib661-lib661.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libauthretry-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libauthretry-libauthretry.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhostname_la-sethostname.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-libntlmconnect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo@am__quote@ # am--include-marker |
︙ | ︙ | |||
6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 | ../../lib/lib1906-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1906_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1906-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1906-warnless.Tpo -c -o ../../lib/lib1906-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1906-warnless.Tpo ../../lib/$(DEPDIR)/lib1906-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1906-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1906_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1906-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib2033-libntlmconnect.o: libntlmconnect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib2033_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib2033-libntlmconnect.o -MD -MP -MF $(DEPDIR)/lib2033-libntlmconnect.Tpo -c -o lib2033-libntlmconnect.o `test -f 'libntlmconnect.c' || echo '$(srcdir)/'`libntlmconnect.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib2033-libntlmconnect.Tpo $(DEPDIR)/lib2033-libntlmconnect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libntlmconnect.c' object='lib2033-libntlmconnect.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib2033_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib2033-libntlmconnect.o `test -f 'libntlmconnect.c' || echo '$(srcdir)/'`libntlmconnect.c | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 | ../../lib/lib1906-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1906_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1906-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1906-warnless.Tpo -c -o ../../lib/lib1906-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1906-warnless.Tpo ../../lib/$(DEPDIR)/lib1906-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1906-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1906_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1906-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib1907-lib1907.o: lib1907.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1907-lib1907.o -MD -MP -MF $(DEPDIR)/lib1907-lib1907.Tpo -c -o lib1907-lib1907.o `test -f 'lib1907.c' || echo '$(srcdir)/'`lib1907.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1907-lib1907.Tpo $(DEPDIR)/lib1907-lib1907.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1907.c' object='lib1907-lib1907.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1907-lib1907.o `test -f 'lib1907.c' || echo '$(srcdir)/'`lib1907.c lib1907-lib1907.obj: lib1907.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1907-lib1907.obj -MD -MP -MF $(DEPDIR)/lib1907-lib1907.Tpo -c -o lib1907-lib1907.obj `if test -f 'lib1907.c'; then $(CYGPATH_W) 'lib1907.c'; else $(CYGPATH_W) '$(srcdir)/lib1907.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1907-lib1907.Tpo $(DEPDIR)/lib1907-lib1907.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1907.c' object='lib1907-lib1907.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1907-lib1907.obj `if test -f 'lib1907.c'; then $(CYGPATH_W) 'lib1907.c'; else $(CYGPATH_W) '$(srcdir)/lib1907.c'; fi` lib1907-first.o: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1907-first.o -MD -MP -MF $(DEPDIR)/lib1907-first.Tpo -c -o lib1907-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1907-first.Tpo $(DEPDIR)/lib1907-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib1907-first.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1907-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c lib1907-first.obj: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1907-first.obj -MD -MP -MF $(DEPDIR)/lib1907-first.Tpo -c -o lib1907-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1907-first.Tpo $(DEPDIR)/lib1907-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib1907-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1907-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` lib1907-testutil.o: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1907-testutil.o -MD -MP -MF $(DEPDIR)/lib1907-testutil.Tpo -c -o lib1907-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1907-testutil.Tpo $(DEPDIR)/lib1907-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib1907-testutil.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1907-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c lib1907-testutil.obj: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1907-testutil.obj -MD -MP -MF $(DEPDIR)/lib1907-testutil.Tpo -c -o lib1907-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1907-testutil.Tpo $(DEPDIR)/lib1907-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib1907-testutil.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1907-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` ../../lib/lib1907-warnless.o: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1907-warnless.o -MD -MP -MF ../../lib/$(DEPDIR)/lib1907-warnless.Tpo -c -o ../../lib/lib1907-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1907-warnless.Tpo ../../lib/$(DEPDIR)/lib1907-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1907-warnless.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1907-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c ../../lib/lib1907-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1907-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1907-warnless.Tpo -c -o ../../lib/lib1907-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1907-warnless.Tpo ../../lib/$(DEPDIR)/lib1907-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1907-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1907_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1907-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib2033-libntlmconnect.o: libntlmconnect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib2033_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib2033-libntlmconnect.o -MD -MP -MF $(DEPDIR)/lib2033-libntlmconnect.Tpo -c -o lib2033-libntlmconnect.o `test -f 'libntlmconnect.c' || echo '$(srcdir)/'`libntlmconnect.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib2033-libntlmconnect.Tpo $(DEPDIR)/lib2033-libntlmconnect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libntlmconnect.c' object='lib2033-libntlmconnect.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib2033_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib2033-libntlmconnect.o `test -f 'libntlmconnect.c' || echo '$(srcdir)/'`libntlmconnect.c |
︙ | ︙ | |||
9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 | ../../lib/lib659-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib659-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib659-warnless.Tpo -c -o ../../lib/lib659-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib659-warnless.Tpo ../../lib/$(DEPDIR)/lib659-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib659-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib659-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` libauthretry-libauthretry.o: libauthretry.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libauthretry_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libauthretry-libauthretry.o -MD -MP -MF $(DEPDIR)/libauthretry-libauthretry.Tpo -c -o libauthretry-libauthretry.o `test -f 'libauthretry.c' || echo '$(srcdir)/'`libauthretry.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libauthretry-libauthretry.Tpo $(DEPDIR)/libauthretry-libauthretry.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libauthretry.c' object='libauthretry-libauthretry.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libauthretry_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libauthretry-libauthretry.o `test -f 'libauthretry.c' || echo '$(srcdir)/'`libauthretry.c | > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 | ../../lib/lib659-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib659-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib659-warnless.Tpo -c -o ../../lib/lib659-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib659-warnless.Tpo ../../lib/$(DEPDIR)/lib659-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib659-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib659-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib661-lib661.o: lib661.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib661_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib661-lib661.o -MD -MP -MF $(DEPDIR)/lib661-lib661.Tpo -c -o lib661-lib661.o `test -f 'lib661.c' || echo '$(srcdir)/'`lib661.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib661-lib661.Tpo $(DEPDIR)/lib661-lib661.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib661.c' object='lib661-lib661.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib661_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib661-lib661.o `test -f 'lib661.c' || echo '$(srcdir)/'`lib661.c lib661-lib661.obj: lib661.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib661_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib661-lib661.obj -MD -MP -MF $(DEPDIR)/lib661-lib661.Tpo -c -o lib661-lib661.obj `if test -f 'lib661.c'; then $(CYGPATH_W) 'lib661.c'; else $(CYGPATH_W) '$(srcdir)/lib661.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib661-lib661.Tpo $(DEPDIR)/lib661-lib661.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib661.c' object='lib661-lib661.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib661_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib661-lib661.obj `if test -f 'lib661.c'; then $(CYGPATH_W) 'lib661.c'; else $(CYGPATH_W) '$(srcdir)/lib661.c'; fi` lib661-first.o: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib661_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib661-first.o -MD -MP -MF $(DEPDIR)/lib661-first.Tpo -c -o lib661-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib661-first.Tpo $(DEPDIR)/lib661-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib661-first.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib661_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib661-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c lib661-first.obj: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib661_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib661-first.obj -MD -MP -MF $(DEPDIR)/lib661-first.Tpo -c -o lib661-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib661-first.Tpo $(DEPDIR)/lib661-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib661-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib661_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib661-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` libauthretry-libauthretry.o: libauthretry.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libauthretry_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libauthretry-libauthretry.o -MD -MP -MF $(DEPDIR)/libauthretry-libauthretry.Tpo -c -o libauthretry-libauthretry.o `test -f 'libauthretry.c' || echo '$(srcdir)/'`libauthretry.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libauthretry-libauthretry.Tpo $(DEPDIR)/libauthretry-libauthretry.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libauthretry.c' object='libauthretry-libauthretry.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libauthretry_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libauthretry-libauthretry.o `test -f 'libauthretry.c' || echo '$(srcdir)/'`libauthretry.c |
︙ | ︙ | |||
9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 | -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1596-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1905-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1906-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib2033-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib502-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib503-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib504-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib507-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib518-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib525-warnless.Po | > | 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 | -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1596-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1905-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1906-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1907-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib2033-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib502-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib503-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib504-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib507-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib518-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib525-warnless.Po |
︙ | ︙ | |||
10044 10045 10046 10047 10048 10049 10050 10051 10052 10053 10054 10055 10056 10057 | -rm -f ./$(DEPDIR)/lib1900-testutil.Po -rm -f ./$(DEPDIR)/lib1905-first.Po -rm -f ./$(DEPDIR)/lib1905-lib1905.Po -rm -f ./$(DEPDIR)/lib1905-testutil.Po -rm -f ./$(DEPDIR)/lib1906-first.Po -rm -f ./$(DEPDIR)/lib1906-lib1906.Po -rm -f ./$(DEPDIR)/lib1906-testutil.Po -rm -f ./$(DEPDIR)/lib2033-first.Po -rm -f ./$(DEPDIR)/lib2033-libntlmconnect.Po -rm -f ./$(DEPDIR)/lib2033-testutil.Po -rm -f ./$(DEPDIR)/lib500-first.Po -rm -f ./$(DEPDIR)/lib500-lib500.Po -rm -f ./$(DEPDIR)/lib500-testtrace.Po -rm -f ./$(DEPDIR)/lib500-testutil.Po | > > > | 10167 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 | -rm -f ./$(DEPDIR)/lib1900-testutil.Po -rm -f ./$(DEPDIR)/lib1905-first.Po -rm -f ./$(DEPDIR)/lib1905-lib1905.Po -rm -f ./$(DEPDIR)/lib1905-testutil.Po -rm -f ./$(DEPDIR)/lib1906-first.Po -rm -f ./$(DEPDIR)/lib1906-lib1906.Po -rm -f ./$(DEPDIR)/lib1906-testutil.Po -rm -f ./$(DEPDIR)/lib1907-first.Po -rm -f ./$(DEPDIR)/lib1907-lib1907.Po -rm -f ./$(DEPDIR)/lib1907-testutil.Po -rm -f ./$(DEPDIR)/lib2033-first.Po -rm -f ./$(DEPDIR)/lib2033-libntlmconnect.Po -rm -f ./$(DEPDIR)/lib2033-testutil.Po -rm -f ./$(DEPDIR)/lib500-first.Po -rm -f ./$(DEPDIR)/lib500-lib500.Po -rm -f ./$(DEPDIR)/lib500-testtrace.Po -rm -f ./$(DEPDIR)/lib500-testutil.Po |
︙ | ︙ | |||
10252 10253 10254 10255 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265 | -rm -f ./$(DEPDIR)/lib655-lib655.Po -rm -f ./$(DEPDIR)/lib658-first.Po -rm -f ./$(DEPDIR)/lib658-lib658.Po -rm -f ./$(DEPDIR)/lib658-testutil.Po -rm -f ./$(DEPDIR)/lib659-first.Po -rm -f ./$(DEPDIR)/lib659-lib659.Po -rm -f ./$(DEPDIR)/lib659-testutil.Po -rm -f ./$(DEPDIR)/libauthretry-first.Po -rm -f ./$(DEPDIR)/libauthretry-libauthretry.Po -rm -f ./$(DEPDIR)/libhostname_la-sethostname.Plo -rm -f ./$(DEPDIR)/libntlmconnect-first.Po -rm -f ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po -rm -f ./$(DEPDIR)/libntlmconnect-testutil.Po -rm -f ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo | > > | 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 | -rm -f ./$(DEPDIR)/lib655-lib655.Po -rm -f ./$(DEPDIR)/lib658-first.Po -rm -f ./$(DEPDIR)/lib658-lib658.Po -rm -f ./$(DEPDIR)/lib658-testutil.Po -rm -f ./$(DEPDIR)/lib659-first.Po -rm -f ./$(DEPDIR)/lib659-lib659.Po -rm -f ./$(DEPDIR)/lib659-testutil.Po -rm -f ./$(DEPDIR)/lib661-first.Po -rm -f ./$(DEPDIR)/lib661-lib661.Po -rm -f ./$(DEPDIR)/libauthretry-first.Po -rm -f ./$(DEPDIR)/libauthretry-libauthretry.Po -rm -f ./$(DEPDIR)/libhostname_la-sethostname.Plo -rm -f ./$(DEPDIR)/libntlmconnect-first.Po -rm -f ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po -rm -f ./$(DEPDIR)/libntlmconnect-testutil.Po -rm -f ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo |
︙ | ︙ | |||
10349 10350 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 | -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1596-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1905-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1906-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib2033-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib502-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib503-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib504-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib507-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib518-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib525-warnless.Po | > | 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 | -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1596-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1905-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1906-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1907-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib2033-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib502-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib503-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib504-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib507-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib518-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib525-warnless.Po |
︙ | ︙ | |||
10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 | -rm -f ./$(DEPDIR)/lib1900-testutil.Po -rm -f ./$(DEPDIR)/lib1905-first.Po -rm -f ./$(DEPDIR)/lib1905-lib1905.Po -rm -f ./$(DEPDIR)/lib1905-testutil.Po -rm -f ./$(DEPDIR)/lib1906-first.Po -rm -f ./$(DEPDIR)/lib1906-lib1906.Po -rm -f ./$(DEPDIR)/lib1906-testutil.Po -rm -f ./$(DEPDIR)/lib2033-first.Po -rm -f ./$(DEPDIR)/lib2033-libntlmconnect.Po -rm -f ./$(DEPDIR)/lib2033-testutil.Po -rm -f ./$(DEPDIR)/lib500-first.Po -rm -f ./$(DEPDIR)/lib500-lib500.Po -rm -f ./$(DEPDIR)/lib500-testtrace.Po -rm -f ./$(DEPDIR)/lib500-testutil.Po | > > > | 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 | -rm -f ./$(DEPDIR)/lib1900-testutil.Po -rm -f ./$(DEPDIR)/lib1905-first.Po -rm -f ./$(DEPDIR)/lib1905-lib1905.Po -rm -f ./$(DEPDIR)/lib1905-testutil.Po -rm -f ./$(DEPDIR)/lib1906-first.Po -rm -f ./$(DEPDIR)/lib1906-lib1906.Po -rm -f ./$(DEPDIR)/lib1906-testutil.Po -rm -f ./$(DEPDIR)/lib1907-first.Po -rm -f ./$(DEPDIR)/lib1907-lib1907.Po -rm -f ./$(DEPDIR)/lib1907-testutil.Po -rm -f ./$(DEPDIR)/lib2033-first.Po -rm -f ./$(DEPDIR)/lib2033-libntlmconnect.Po -rm -f ./$(DEPDIR)/lib2033-testutil.Po -rm -f ./$(DEPDIR)/lib500-first.Po -rm -f ./$(DEPDIR)/lib500-lib500.Po -rm -f ./$(DEPDIR)/lib500-testtrace.Po -rm -f ./$(DEPDIR)/lib500-testutil.Po |
︙ | ︙ | |||
10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 | -rm -f ./$(DEPDIR)/lib655-lib655.Po -rm -f ./$(DEPDIR)/lib658-first.Po -rm -f ./$(DEPDIR)/lib658-lib658.Po -rm -f ./$(DEPDIR)/lib658-testutil.Po -rm -f ./$(DEPDIR)/lib659-first.Po -rm -f ./$(DEPDIR)/lib659-lib659.Po -rm -f ./$(DEPDIR)/lib659-testutil.Po -rm -f ./$(DEPDIR)/libauthretry-first.Po -rm -f ./$(DEPDIR)/libauthretry-libauthretry.Po -rm -f ./$(DEPDIR)/libhostname_la-sethostname.Plo -rm -f ./$(DEPDIR)/libntlmconnect-first.Po -rm -f ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po -rm -f ./$(DEPDIR)/libntlmconnect-testutil.Po -rm -f ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo | > > | 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 | -rm -f ./$(DEPDIR)/lib655-lib655.Po -rm -f ./$(DEPDIR)/lib658-first.Po -rm -f ./$(DEPDIR)/lib658-lib658.Po -rm -f ./$(DEPDIR)/lib658-testutil.Po -rm -f ./$(DEPDIR)/lib659-first.Po -rm -f ./$(DEPDIR)/lib659-lib659.Po -rm -f ./$(DEPDIR)/lib659-testutil.Po -rm -f ./$(DEPDIR)/lib661-first.Po -rm -f ./$(DEPDIR)/lib661-lib661.Po -rm -f ./$(DEPDIR)/libauthretry-first.Po -rm -f ./$(DEPDIR)/libauthretry-libauthretry.Po -rm -f ./$(DEPDIR)/libhostname_la-sethostname.Plo -rm -f ./$(DEPDIR)/libntlmconnect-first.Po -rm -f ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po -rm -f ./$(DEPDIR)/libntlmconnect-testutil.Po -rm -f ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo |
︙ | ︙ |
Changes to jni/curl/tests/libtest/Makefile.inc.
︙ | ︙ | |||
18 19 20 21 22 23 24 | lib520 lib521 lib523 lib524 lib525 lib526 lib527 lib529 lib530 lib532 \ lib533 lib537 lib539 lib540 lib541 lib542 lib543 lib544 lib545 \ lib547 lib548 lib549 lib552 lib553 lib554 lib555 lib556 lib557 lib558 \ lib559 lib560 lib562 lib564 lib565 lib566 lib567 lib568 lib569 lib570 \ lib571 lib572 lib573 lib574 lib575 lib576 lib578 lib579 lib582 \ lib583 lib585 lib586 lib587 lib589 lib590 lib591 lib597 lib598 lib599 \ lib643 lib644 lib645 lib650 lib651 lib652 lib653 lib654 lib655 lib658 \ | | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | lib520 lib521 lib523 lib524 lib525 lib526 lib527 lib529 lib530 lib532 \ lib533 lib537 lib539 lib540 lib541 lib542 lib543 lib544 lib545 \ lib547 lib548 lib549 lib552 lib553 lib554 lib555 lib556 lib557 lib558 \ lib559 lib560 lib562 lib564 lib565 lib566 lib567 lib568 lib569 lib570 \ lib571 lib572 lib573 lib574 lib575 lib576 lib578 lib579 lib582 \ lib583 lib585 lib586 lib587 lib589 lib590 lib591 lib597 lib598 lib599 \ lib643 lib644 lib645 lib650 lib651 lib652 lib653 lib654 lib655 lib658 \ lib659 lib661 \ lib1156 \ lib1500 lib1501 lib1502 lib1503 lib1504 lib1505 lib1506 lib1507 lib1508 \ lib1509 lib1510 lib1511 lib1512 lib1513 lib1514 lib1515 lib1517 \ lib1518 lib1520 lib1521 lib1522 lib1523 \ lib1525 lib1526 lib1527 lib1528 lib1529 lib1530 lib1531 lib1532 lib1533 \ lib1534 lib1535 lib1536 lib1537 lib1538 \ lib1540 lib1541 \ lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 lib1557 \ lib1558 lib1559 lib1560 \ lib1591 lib1592 lib1593 lib1594 lib1596 \ lib1900 lib1905 lib1906 lib1907 \ lib2033 chkdecimalpoint_SOURCES = chkdecimalpoint.c ../../lib/mprintf.c \ ../../lib/curl_ctype.c chkdecimalpoint_LDADD = chkdecimalpoint_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB \ -DCURLX_NO_MEMORY_CALLBACKS |
︙ | ︙ | |||
340 341 342 343 344 345 346 347 348 349 350 351 352 353 | lib658_SOURCES = lib658.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib658_LDADD = $(TESTUTIL_LIBS) lib658_CPPFLAGS = $(AM_CPPFLAGS) lib659_SOURCES = lib659.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib659_LDADD = $(TESTUTIL_LIBS) lib659_CPPFLAGS = $(AM_CPPFLAGS) lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL) lib1500_LDADD = $(TESTUTIL_LIBS) lib1500_CPPFLAGS = $(AM_CPPFLAGS) lib1501_SOURCES = lib1501.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1501_LDADD = $(TESTUTIL_LIBS) | > > > | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | lib658_SOURCES = lib658.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib658_LDADD = $(TESTUTIL_LIBS) lib658_CPPFLAGS = $(AM_CPPFLAGS) lib659_SOURCES = lib659.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib659_LDADD = $(TESTUTIL_LIBS) lib659_CPPFLAGS = $(AM_CPPFLAGS) lib661_SOURCES = lib661.c $(SUPPORTFILES) lib661_CPPFLAGS = $(AM_CPPFLAGS) lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL) lib1500_LDADD = $(TESTUTIL_LIBS) lib1500_CPPFLAGS = $(AM_CPPFLAGS) lib1501_SOURCES = lib1501.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1501_LDADD = $(TESTUTIL_LIBS) |
︙ | ︙ | |||
558 559 560 561 562 563 564 565 566 567 568 | lib1905_SOURCES = lib1905.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1905_LDADD = $(TESTUTIL_LIBS) lib1905_CPPFLAGS = $(AM_CPPFLAGS) lib1906_SOURCES = lib1906.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1906_LDADD = $(TESTUTIL_LIBS) lib1906_CPPFLAGS = $(AM_CPPFLAGS) lib2033_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib2033_LDADD = $(TESTUTIL_LIBS) lib2033_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PIPELINING | > > > > | 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 | lib1905_SOURCES = lib1905.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1905_LDADD = $(TESTUTIL_LIBS) lib1905_CPPFLAGS = $(AM_CPPFLAGS) lib1906_SOURCES = lib1906.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1906_LDADD = $(TESTUTIL_LIBS) lib1906_CPPFLAGS = $(AM_CPPFLAGS) lib1907_SOURCES = lib1907.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1907_LDADD = $(TESTUTIL_LIBS) lib1907_CPPFLAGS = $(AM_CPPFLAGS) lib2033_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib2033_LDADD = $(TESTUTIL_LIBS) lib2033_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PIPELINING |
Changes to jni/curl/tests/libtest/lib1156.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib1522.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib1560.c.
︙ | ︙ | |||
136 137 138 139 140 141 142 143 144 145 146 147 148 149 | {"file://C:\\programs\\foo", "file | [11] | [12] | [13] | [14] | [15] | C:\\programs\\foo | [16] | [17]", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, {"file:///C:\\programs\\foo", "file | [11] | [12] | [13] | [14] | [15] | C:\\programs\\foo | [16] | [17]", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, #endif {"http://[ab.be:1]/x", "", CURLU_DEFAULT_SCHEME, 0, CURLUE_MALFORMED_INPUT}, {"http://[ab.be]/x", "", CURLU_DEFAULT_SCHEME, 0, CURLUE_MALFORMED_INPUT}, /* URL without host name */ {"http://a:b@/x", "", CURLU_DEFAULT_SCHEME, 0, CURLUE_NO_HOST}, | > > > > > > > > > > > > > > > > > > > > | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | {"file://C:\\programs\\foo", "file | [11] | [12] | [13] | [14] | [15] | C:\\programs\\foo | [16] | [17]", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, {"file:///C:\\programs\\foo", "file | [11] | [12] | [13] | [14] | [15] | C:\\programs\\foo | [16] | [17]", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, #endif {"https://example.com/color/#green?no-black", "https | [11] | [12] | [13] | example.com | [15] | /color/ | [16] | " "green?no-black", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK }, {"https://example.com/color/#green#no-black", "https | [11] | [12] | [13] | example.com | [15] | /color/ | [16] | " "green#no-black", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK }, {"https://example.com/color/?green#no-black", "https | [11] | [12] | [13] | example.com | [15] | /color/ | green | " "no-black", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK }, {"https://example.com/#color/?green#no-black", "https | [11] | [12] | [13] | example.com | [15] | / | [16] | " "color/?green#no-black", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK }, {"https://example.#com/color/?green#no-black", "https | [11] | [12] | [13] | example. | [15] | / | [16] | " "com/color/?green#no-black", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK }, {"http://[ab.be:1]/x", "", CURLU_DEFAULT_SCHEME, 0, CURLUE_MALFORMED_INPUT}, {"http://[ab.be]/x", "", CURLU_DEFAULT_SCHEME, 0, CURLUE_MALFORMED_INPUT}, /* URL without host name */ {"http://a:b@/x", "", CURLU_DEFAULT_SCHEME, 0, CURLUE_NO_HOST}, |
︙ | ︙ | |||
410 411 412 413 414 415 416 417 418 419 420 421 422 423 | 0, 0, CURLUE_OK}, {"http://example.com/path/html", "http://example.com/path/html", 0, 0, CURLUE_OK}, {"tp://example.com/path/html", "tp://example.com/path/html", CURLU_NON_SUPPORT_SCHEME, 0, CURLUE_OK}, {NULL, NULL, 0, 0, 0} }; static int checkurl(const char *url, const char *out) { if(strcmp(out, url)) { fprintf(stderr, "Wanted: %s\nGot : %s\n", | > > > > > > > > > > > > | 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 | 0, 0, CURLUE_OK}, {"http://example.com/path/html", "http://example.com/path/html", 0, 0, CURLUE_OK}, {"tp://example.com/path/html", "tp://example.com/path/html", CURLU_NON_SUPPORT_SCHEME, 0, CURLUE_OK}, {"custom-scheme://host?expected=test-good", "custom-scheme://host/?expected=test-good", CURLU_NON_SUPPORT_SCHEME, 0, CURLUE_OK}, {"custom-scheme://?expected=test-bad", "", CURLU_NON_SUPPORT_SCHEME, 0, CURLUE_MALFORMED_INPUT}, {"custom-scheme://?expected=test-new-good", "custom-scheme:///?expected=test-new-good", CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, 0, CURLUE_OK}, {"custom-scheme://host?expected=test-still-good", "custom-scheme://host/?expected=test-still-good", CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, 0, CURLUE_OK}, {NULL, NULL, 0, 0, 0} }; static int checkurl(const char *url, const char *out) { if(strcmp(out, url)) { fprintf(stderr, "Wanted: %s\nGot : %s\n", |
︙ | ︙ | |||
547 548 549 550 551 552 553 554 555 556 557 558 559 560 | "host=www.example.com,", "http://www.example.com/", 0, 0, CURLUE_OK, CURLUE_OK}, {"http://example.com:80", "scheme=ftp,", "ftp://example.com:80/", 0, 0, CURLUE_OK, CURLUE_OK}, {NULL, NULL, NULL, 0, 0, 0, 0} }; static CURLUPart part2id(char *part) { if(!strcmp("url", part)) return CURLUPART_URL; | > > > > > > > > > > > | 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 | "host=www.example.com,", "http://www.example.com/", 0, 0, CURLUE_OK, CURLUE_OK}, {"http://example.com:80", "scheme=ftp,", "ftp://example.com:80/", 0, 0, CURLUE_OK, CURLUE_OK}, {"custom-scheme://host", "host=\"\",", "custom-scheme://host/", CURLU_NON_SUPPORT_SCHEME, CURLU_NON_SUPPORT_SCHEME, CURLUE_OK, CURLUE_MALFORMED_INPUT}, {"custom-scheme://host", "host=\"\",", "custom-scheme:///", CURLU_NON_SUPPORT_SCHEME, CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, CURLUE_OK, CURLUE_OK}, {NULL, NULL, NULL, 0, 0, 0, 0} }; static CURLUPart part2id(char *part) { if(!strcmp("url", part)) return CURLUPART_URL; |
︙ | ︙ |
Added jni/curl/tests/libtest/lib1907.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "test.h" #include "testutil.h" #include "warnless.h" #include "memdebug.h" int test(char *URL) { char *url_after; CURL *curl; CURLcode curl_code; char error_buffer[CURL_ERROR_SIZE] = ""; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); curl_easy_setopt(curl, CURLOPT_URL, URL); curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error_buffer); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_code = curl_easy_perform(curl); if(!curl_code) fprintf(stderr, "failure expected, " "curl_easy_perform returned %ld: <%s>, <%s>\n", (long) curl_code, curl_easy_strerror(curl_code), error_buffer); /* print the used url */ if(!curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &url_after)) printf("Effective URL: %s\n", url_after); curl_easy_cleanup(curl); curl_global_cleanup(); return 0; } |
Changes to jni/curl/tests/libtest/lib506.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
138 139 140 141 142 143 144 145 146 147 148 149 150 151 | return NULL; } headers = sethost(NULL); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_URL, tdata->url); printf("CURLOPT_SHARE\n"); curl_easy_setopt(curl, CURLOPT_SHARE, tdata->share); printf("PERFORM\n"); code = curl_easy_perform(curl); if(code) { int i = 0; | > | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | return NULL; } headers = sethost(NULL); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_URL, tdata->url); curl_easy_setopt(curl, CURLOPT_COOKIEFILE, ""); printf("CURLOPT_SHARE\n"); curl_easy_setopt(curl, CURLOPT_SHARE, tdata->share); printf("PERFORM\n"); code = curl_easy_perform(curl); if(code) { int i = 0; |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib509.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib541.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib557.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib569.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib571.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Added jni/curl/tests/libtest/lib661.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "test.h" #include "memdebug.h" int test(char *URL) { CURLcode res; CURL *curl = NULL; char *newURL = NULL; struct curl_slist *slist = NULL; if(curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) { fprintf(stderr, "curl_global_init() failed\n"); return TEST_ERR_MAJOR_BAD; } curl = curl_easy_init(); if(!curl) { fprintf(stderr, "curl_easy_init() failed\n"); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } /* test: CURLFTPMETHOD_SINGLECWD with absolute path should skip CWD to entry path */ newURL = aprintf("%s/folderA/661", URL); test_setopt(curl, CURLOPT_URL, newURL); test_setopt(curl, CURLOPT_VERBOSE, 1L); test_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 1L); test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_SINGLECWD); res = curl_easy_perform(curl); free(newURL); newURL = aprintf("%s/folderB/661", URL); test_setopt(curl, CURLOPT_URL, newURL); res = curl_easy_perform(curl); /* test: CURLFTPMETHOD_NOCWD with absolute path should never emit CWD (for both new and reused easy handle) */ curl_easy_cleanup(curl); curl = curl_easy_init(); if(!curl) { fprintf(stderr, "curl_easy_init() failed\n"); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } free(newURL); newURL = aprintf("%s/folderA/661", URL); test_setopt(curl, CURLOPT_URL, newURL); test_setopt(curl, CURLOPT_VERBOSE, 1L); test_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 1L); test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_NOCWD); res = curl_easy_perform(curl); /* curve ball: CWD /folderB before reusing connection with _NOCWD */ free(newURL); newURL = aprintf("%s/folderB/661", URL); test_setopt(curl, CURLOPT_URL, newURL); test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_SINGLECWD); res = curl_easy_perform(curl); free(newURL); newURL = aprintf("%s/folderA/661", URL); test_setopt(curl, CURLOPT_URL, newURL); test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_NOCWD); res = curl_easy_perform(curl); /* test: CURLFTPMETHOD_NOCWD with home-relative path should not emit CWD for first FTP access after login */ curl_easy_cleanup(curl); curl = curl_easy_init(); if(!curl) { fprintf(stderr, "curl_easy_init() failed\n"); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } slist = curl_slist_append(NULL, "SYST"); if(slist == NULL) { fprintf(stderr, "curl_slist_append() failed\n"); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } test_setopt(curl, CURLOPT_URL, URL); test_setopt(curl, CURLOPT_VERBOSE, 1L); test_setopt(curl, CURLOPT_NOBODY, 1L); test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_NOCWD); test_setopt(curl, CURLOPT_QUOTE, slist); res = curl_easy_perform(curl); /* test: CURLFTPMETHOD_SINGLECWD with home-relative path should not emit CWD for first FTP access after login */ curl_easy_cleanup(curl); curl = curl_easy_init(); if(!curl) { fprintf(stderr, "curl_easy_init() failed\n"); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } test_setopt(curl, CURLOPT_URL, URL); test_setopt(curl, CURLOPT_VERBOSE, 1L); test_setopt(curl, CURLOPT_NOBODY, 1L); test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_SINGLECWD); test_setopt(curl, CURLOPT_QUOTE, slist); res = curl_easy_perform(curl); /* test: CURLFTPMETHOD_NOCWD with home-relative path should not emit CWD for second FTP access when not needed + bonus: see if path buffering survives curl_easy_reset() */ curl_easy_reset(curl); test_setopt(curl, CURLOPT_URL, URL); test_setopt(curl, CURLOPT_VERBOSE, 1L); test_setopt(curl, CURLOPT_NOBODY, 1L); test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_NOCWD); test_setopt(curl, CURLOPT_QUOTE, slist); res = curl_easy_perform(curl); test_cleanup: curl_slist_free_all(slist); free(newURL); curl_easy_cleanup(curl); curl_global_cleanup(); return (int)res; } |
Changes to jni/curl/tests/manpage-scan.pl.
1 2 3 4 5 6 7 8 | #!/usr/bin/env perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/usr/bin/env perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 2016 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | my %opts = ( # pretend these --no options exists in tool_getparam.c '--no-alpn' => 1, '--no-npn' => 1, '-N, --no-buffer' => 1, '--no-sessionid' => 1, '--no-keepalive' => 1, # pretend these options without -no exist in curl.1 and tool_help.c '--alpn' => 6, '--npn' => 6, '--eprt' => 6, '--epsv' => 6, '--keepalive' => 6, '-N, --buffer' => 6, '--sessionid' => 6, # deprecated options do not need to be in tool_help.c nor curl.1 '--krb4' => 6, '--ftp-ssl' => 6, '--ftp-ssl-reqd' => 6, # for tests and debug only, can remain hidden | > > | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | my %opts = ( # pretend these --no options exists in tool_getparam.c '--no-alpn' => 1, '--no-npn' => 1, '-N, --no-buffer' => 1, '--no-sessionid' => 1, '--no-keepalive' => 1, '--no-progress-meter' => 1, # pretend these options without -no exist in curl.1 and tool_help.c '--alpn' => 6, '--npn' => 6, '--eprt' => 6, '--epsv' => 6, '--keepalive' => 6, '-N, --buffer' => 6, '--sessionid' => 6, '--progress-meter' => 6, # deprecated options do not need to be in tool_help.c nor curl.1 '--krb4' => 6, '--ftp-ssl' => 6, '--ftp-ssl-reqd' => 6, # for tests and debug only, can remain hidden |
︙ | ︙ |
Changes to jni/curl/tests/runtests.1.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH runtests.pl 1 "May 05, 2017" "Curl 7.67.0" "runtests" .SH NAME runtests.pl \- run one or more test cases .SH SYNOPSIS .B runtests.pl [options] [test number] [!test number] [key word] [!key word] .SH DESCRIPTION \fIruntests.pl\fP runs one, several or all the existing test cases in curl's |
︙ | ︙ |
Changes to jni/curl/tests/runtests.pl.
︙ | ︙ | |||
2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 | if($curl =~ /linux|bsd|solaris/) { $has_ldpreload = 1; } if($curl =~ /win32|Windows|mingw(32|64)/) { # This is a Windows MinGW build or native build, we need to use # Win32-style path. $pwd = pathhelp::sys_native_current_path(); } if ($libcurl =~ /(winssl|schannel)/i) { $has_winssl=1; $has_sslpinning=1; } elsif ($libcurl =~ /openssl/i) { $has_openssl=1; | > | 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 | if($curl =~ /linux|bsd|solaris/) { $has_ldpreload = 1; } if($curl =~ /win32|Windows|mingw(32|64)/) { # This is a Windows MinGW build or native build, we need to use # Win32-style path. $pwd = pathhelp::sys_native_current_path(); $has_textaware = 1; } if ($libcurl =~ /(winssl|schannel)/i) { $has_winssl=1; $has_sslpinning=1; } elsif ($libcurl =~ /openssl/i) { $has_openssl=1; |
︙ | ︙ | |||
3020 3021 3022 3023 3024 3025 3026 | if($has_unix) { logmsg "* Unix socket paths:\n"; if($http_unix) { logmsg sprintf("* HTTP-Unix:%s\n", $HTTPUNIXPATH); } } } | < | 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 | if($has_unix) { logmsg "* Unix socket paths:\n"; if($http_unix) { logmsg sprintf("* HTTP-Unix:%s\n", $HTTPUNIXPATH); } } } logmsg "***************************************** \n"; setupfeatures(); # toggle off the features that were disabled in the build for my $d(@disabled) { $feature{$d} = 0; |
︙ | ︙ |
Changes to jni/curl/tests/server/util.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/tests/smbserver.py.
︙ | ︙ | |||
20 21 22 23 24 25 26 | # KIND, either express or implied. # """Server for testing SMB""" from __future__ import (absolute_import, division, print_function) # unicode_literals) import argparse | < > > > > | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # KIND, either express or implied. # """Server for testing SMB""" from __future__ import (absolute_import, division, print_function) # unicode_literals) import argparse import os import sys import logging import tempfile try: # Python 3 import configparser except ImportError: # Python 2 import ConfigParser as configparser # Import our curl test data helper import curl_test_data # This saves us having to set up the PYTHONPATH explicitly deps_dir = os.path.join(os.path.dirname(__file__), "python_dependencies") sys.path.append(deps_dir) |
︙ | ︙ | |||
54 55 56 57 58 59 60 | """ if options.pidfile: pid = os.getpid() with open(options.pidfile, "w") as f: f.write("{0}".format(pid)) # Here we write a mini config for the server | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | """ if options.pidfile: pid = os.getpid() with open(options.pidfile, "w") as f: f.write("{0}".format(pid)) # Here we write a mini config for the server smb_config = configparser.ConfigParser() smb_config.add_section("global") smb_config.set("global", "server_name", "SERVICE") smb_config.set("global", "server_os", "UNIX") smb_config.set("global", "server_domain", "WORKGROUP") smb_config.set("global", "log_file", "") smb_config.set("global", "credentials_file", "") |
︙ | ︙ |
Changes to jni/curl/tests/testcurl.1.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH testcurl.pl 1 "October 22, 2016" "Curl 7.67.0" "testcurl" .SH NAME testcurl.pl \- (automatically) test curl .SH SYNOPSIS .B testcurl.pl [options] [dir] > output .SH DESCRIPTION \fItestcurl.pl\fP is the master script to use for automatic testing of curl |
︙ | ︙ |
Changes to jni/curl/tests/unit/CMakeLists.txt.
︙ | ︙ | |||
18 19 20 21 22 23 24 25 26 27 28 29 30 31 | unit1398.c unit1600.c unit1601.c unit1603.c # Broken link on Linux # unit1604.c unit1620.c ) set(UT_COMMON_FILES ../libtest/first.c ../libtest/test.h curlcheck.h) include_directories( ${CURL_SOURCE_DIR}/lib # To be able to reach "curl_setup_once.h" ${CURL_SOURCE_DIR}/tests/libtest ${CURL_SOURCE_DIR}/src | > | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | unit1398.c unit1600.c unit1601.c unit1603.c # Broken link on Linux # unit1604.c unit1620.c unit1655.c ) set(UT_COMMON_FILES ../libtest/first.c ../libtest/test.h curlcheck.h) include_directories( ${CURL_SOURCE_DIR}/lib # To be able to reach "curl_setup_once.h" ${CURL_SOURCE_DIR}/tests/libtest ${CURL_SOURCE_DIR}/src |
︙ | ︙ |
Changes to jni/curl/tests/unit/Makefile.in.
︙ | ︙ | |||
125 126 127 128 129 130 131 | unit1395$(EXEEXT) unit1396$(EXEEXT) unit1397$(EXEEXT) \ unit1398$(EXEEXT) unit1399$(EXEEXT) unit1600$(EXEEXT) \ unit1601$(EXEEXT) unit1602$(EXEEXT) unit1603$(EXEEXT) \ unit1604$(EXEEXT) unit1605$(EXEEXT) unit1606$(EXEEXT) \ unit1607$(EXEEXT) unit1608$(EXEEXT) unit1609$(EXEEXT) \ unit1620$(EXEEXT) unit1621$(EXEEXT) unit1650$(EXEEXT) \ unit1651$(EXEEXT) unit1652$(EXEEXT) unit1653$(EXEEXT) \ | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | unit1395$(EXEEXT) unit1396$(EXEEXT) unit1397$(EXEEXT) \ unit1398$(EXEEXT) unit1399$(EXEEXT) unit1600$(EXEEXT) \ unit1601$(EXEEXT) unit1602$(EXEEXT) unit1603$(EXEEXT) \ unit1604$(EXEEXT) unit1605$(EXEEXT) unit1606$(EXEEXT) \ unit1607$(EXEEXT) unit1608$(EXEEXT) unit1609$(EXEEXT) \ unit1620$(EXEEXT) unit1621$(EXEEXT) unit1650$(EXEEXT) \ unit1651$(EXEEXT) unit1652$(EXEEXT) unit1653$(EXEEXT) \ unit1654$(EXEEXT) unit1655$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) am__dirstamp = $(am__leading_dot)dirstamp am__objects_1 = ../libtest/unit1300-first.$(OBJEXT) am_unit1300_OBJECTS = unit1300-unit1300.$(OBJEXT) $(am__objects_1) unit1300_OBJECTS = $(am_unit1300_OBJECTS) unit1300_LDADD = $(LDADD) unit1300_DEPENDENCIES = $(top_builddir)/src/libcurltool.la \ |
︙ | ︙ | |||
336 337 338 339 340 341 342 343 344 345 346 347 348 349 | $(top_builddir)/lib/libcurlu.la am__objects_34 = ../libtest/unit1654-first.$(OBJEXT) am_unit1654_OBJECTS = unit1654-unit1654.$(OBJEXT) $(am__objects_34) unit1654_OBJECTS = $(am_unit1654_OBJECTS) unit1654_LDADD = $(LDADD) unit1654_DEPENDENCIES = $(top_builddir)/src/libcurltool.la \ $(top_builddir)/lib/libcurlu.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; | > > > > > > | 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 | $(top_builddir)/lib/libcurlu.la am__objects_34 = ../libtest/unit1654-first.$(OBJEXT) am_unit1654_OBJECTS = unit1654-unit1654.$(OBJEXT) $(am__objects_34) unit1654_OBJECTS = $(am_unit1654_OBJECTS) unit1654_LDADD = $(LDADD) unit1654_DEPENDENCIES = $(top_builddir)/src/libcurltool.la \ $(top_builddir)/lib/libcurlu.la am__objects_35 = ../libtest/unit1655-first.$(OBJEXT) am_unit1655_OBJECTS = unit1655-unit1655.$(OBJEXT) $(am__objects_35) unit1655_OBJECTS = $(am_unit1655_OBJECTS) unit1655_LDADD = $(LDADD) unit1655_DEPENDENCIES = $(top_builddir)/src/libcurltool.la \ $(top_builddir)/lib/libcurlu.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; |
︙ | ︙ | |||
385 386 387 388 389 390 391 392 393 394 395 396 397 398 | ../libtest/$(DEPDIR)/unit1620-first.Po \ ../libtest/$(DEPDIR)/unit1621-first.Po \ ../libtest/$(DEPDIR)/unit1650-first.Po \ ../libtest/$(DEPDIR)/unit1651-first.Po \ ../libtest/$(DEPDIR)/unit1652-first.Po \ ../libtest/$(DEPDIR)/unit1653-first.Po \ ../libtest/$(DEPDIR)/unit1654-first.Po \ ./$(DEPDIR)/unit1300-unit1300.Po \ ./$(DEPDIR)/unit1301-unit1301.Po \ ./$(DEPDIR)/unit1302-unit1302.Po \ ./$(DEPDIR)/unit1303-unit1303.Po \ ./$(DEPDIR)/unit1304-unit1304.Po \ ./$(DEPDIR)/unit1305-unit1305.Po \ ./$(DEPDIR)/unit1307-unit1307.Po \ | > | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | ../libtest/$(DEPDIR)/unit1620-first.Po \ ../libtest/$(DEPDIR)/unit1621-first.Po \ ../libtest/$(DEPDIR)/unit1650-first.Po \ ../libtest/$(DEPDIR)/unit1651-first.Po \ ../libtest/$(DEPDIR)/unit1652-first.Po \ ../libtest/$(DEPDIR)/unit1653-first.Po \ ../libtest/$(DEPDIR)/unit1654-first.Po \ ../libtest/$(DEPDIR)/unit1655-first.Po \ ./$(DEPDIR)/unit1300-unit1300.Po \ ./$(DEPDIR)/unit1301-unit1301.Po \ ./$(DEPDIR)/unit1302-unit1302.Po \ ./$(DEPDIR)/unit1303-unit1303.Po \ ./$(DEPDIR)/unit1304-unit1304.Po \ ./$(DEPDIR)/unit1305-unit1305.Po \ ./$(DEPDIR)/unit1307-unit1307.Po \ |
︙ | ︙ | |||
418 419 420 421 422 423 424 | ./$(DEPDIR)/unit1609-unit1609.Po \ ./$(DEPDIR)/unit1620-unit1620.Po \ ./$(DEPDIR)/unit1621-unit1621.Po \ ./$(DEPDIR)/unit1650-unit1650.Po \ ./$(DEPDIR)/unit1651-unit1651.Po \ ./$(DEPDIR)/unit1652-unit1652.Po \ ./$(DEPDIR)/unit1653-unit1653.Po \ | | > | 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 | ./$(DEPDIR)/unit1609-unit1609.Po \ ./$(DEPDIR)/unit1620-unit1620.Po \ ./$(DEPDIR)/unit1621-unit1621.Po \ ./$(DEPDIR)/unit1650-unit1650.Po \ ./$(DEPDIR)/unit1651-unit1651.Po \ ./$(DEPDIR)/unit1652-unit1652.Po \ ./$(DEPDIR)/unit1653-unit1653.Po \ ./$(DEPDIR)/unit1654-unit1654.Po \ ./$(DEPDIR)/unit1655-unit1655.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) |
︙ | ︙ | |||
449 450 451 452 453 454 455 | $(unit1395_SOURCES) $(unit1396_SOURCES) $(unit1397_SOURCES) \ $(unit1398_SOURCES) $(unit1399_SOURCES) $(unit1600_SOURCES) \ $(unit1601_SOURCES) $(unit1602_SOURCES) $(unit1603_SOURCES) \ $(unit1604_SOURCES) $(unit1605_SOURCES) $(unit1606_SOURCES) \ $(unit1607_SOURCES) $(unit1608_SOURCES) $(unit1609_SOURCES) \ $(unit1620_SOURCES) $(unit1621_SOURCES) $(unit1650_SOURCES) \ $(unit1651_SOURCES) $(unit1652_SOURCES) $(unit1653_SOURCES) \ | | | | 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 | $(unit1395_SOURCES) $(unit1396_SOURCES) $(unit1397_SOURCES) \ $(unit1398_SOURCES) $(unit1399_SOURCES) $(unit1600_SOURCES) \ $(unit1601_SOURCES) $(unit1602_SOURCES) $(unit1603_SOURCES) \ $(unit1604_SOURCES) $(unit1605_SOURCES) $(unit1606_SOURCES) \ $(unit1607_SOURCES) $(unit1608_SOURCES) $(unit1609_SOURCES) \ $(unit1620_SOURCES) $(unit1621_SOURCES) $(unit1650_SOURCES) \ $(unit1651_SOURCES) $(unit1652_SOURCES) $(unit1653_SOURCES) \ $(unit1654_SOURCES) $(unit1655_SOURCES) DIST_SOURCES = $(unit1300_SOURCES) $(unit1301_SOURCES) \ $(unit1302_SOURCES) $(unit1303_SOURCES) $(unit1304_SOURCES) \ $(unit1305_SOURCES) $(unit1307_SOURCES) $(unit1308_SOURCES) \ $(unit1309_SOURCES) $(unit1323_SOURCES) $(unit1330_SOURCES) \ $(unit1394_SOURCES) $(unit1395_SOURCES) $(unit1396_SOURCES) \ $(unit1397_SOURCES) $(unit1398_SOURCES) $(unit1399_SOURCES) \ $(unit1600_SOURCES) $(unit1601_SOURCES) $(unit1602_SOURCES) \ $(unit1603_SOURCES) $(unit1604_SOURCES) $(unit1605_SOURCES) \ $(unit1606_SOURCES) $(unit1607_SOURCES) $(unit1608_SOURCES) \ $(unit1609_SOURCES) $(unit1620_SOURCES) $(unit1621_SOURCES) \ $(unit1650_SOURCES) $(unit1651_SOURCES) $(unit1652_SOURCES) \ $(unit1653_SOURCES) $(unit1654_SOURCES) $(unit1655_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, |
︙ | ︙ | |||
759 760 761 762 763 764 765 | # These are all unit test programs UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \ unit1308 unit1309 unit1323 \ unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \ unit1399 \ unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \ unit1608 unit1609 unit1620 unit1621 \ | | | 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 | # These are all unit test programs UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \ unit1308 unit1309 unit1323 \ unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \ unit1399 \ unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \ unit1608 unit1609 unit1620 unit1621 \ unit1650 unit1651 unit1652 unit1653 unit1654 unit1655 unit1300_SOURCES = unit1300.c $(UNITFILES) unit1300_CPPFLAGS = $(AM_CPPFLAGS) unit1301_SOURCES = unit1301.c $(UNITFILES) unit1301_CPPFLAGS = $(AM_CPPFLAGS) unit1302_SOURCES = unit1302.c $(UNITFILES) unit1302_CPPFLAGS = $(AM_CPPFLAGS) |
︙ | ︙ | |||
833 834 835 836 837 838 839 840 841 842 843 844 845 846 | unit1651_CPPFLAGS = $(AM_CPPFLAGS) unit1652_SOURCES = unit1652.c $(UNITFILES) unit1652_CPPFLAGS = $(AM_CPPFLAGS) unit1653_SOURCES = unit1653.c $(UNITFILES) unit1653_CPPFLAGS = $(AM_CPPFLAGS) unit1654_SOURCES = unit1654.c $(UNITFILES) unit1654_CPPFLAGS = $(AM_CPPFLAGS) # Makefile.inc provides neat definitions CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) all: all-am | > > | 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 | unit1651_CPPFLAGS = $(AM_CPPFLAGS) unit1652_SOURCES = unit1652.c $(UNITFILES) unit1652_CPPFLAGS = $(AM_CPPFLAGS) unit1653_SOURCES = unit1653.c $(UNITFILES) unit1653_CPPFLAGS = $(AM_CPPFLAGS) unit1654_SOURCES = unit1654.c $(UNITFILES) unit1654_CPPFLAGS = $(AM_CPPFLAGS) unit1655_SOURCES = unit1655.c $(UNITFILES) unit1655_CPPFLAGS = $(AM_CPPFLAGS) # Makefile.inc provides neat definitions CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) all: all-am |
︙ | ︙ | |||
1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 | $(AM_V_CCLD)$(LINK) $(unit1653_OBJECTS) $(unit1653_LDADD) $(LIBS) ../libtest/unit1654-first.$(OBJEXT): ../libtest/$(am__dirstamp) \ ../libtest/$(DEPDIR)/$(am__dirstamp) unit1654$(EXEEXT): $(unit1654_OBJECTS) $(unit1654_DEPENDENCIES) $(EXTRA_unit1654_DEPENDENCIES) @rm -f unit1654$(EXEEXT) $(AM_V_CCLD)$(LINK) $(unit1654_OBJECTS) $(unit1654_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f ../libtest/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c | > > > > > > | 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 | $(AM_V_CCLD)$(LINK) $(unit1653_OBJECTS) $(unit1653_LDADD) $(LIBS) ../libtest/unit1654-first.$(OBJEXT): ../libtest/$(am__dirstamp) \ ../libtest/$(DEPDIR)/$(am__dirstamp) unit1654$(EXEEXT): $(unit1654_OBJECTS) $(unit1654_DEPENDENCIES) $(EXTRA_unit1654_DEPENDENCIES) @rm -f unit1654$(EXEEXT) $(AM_V_CCLD)$(LINK) $(unit1654_OBJECTS) $(unit1654_LDADD) $(LIBS) ../libtest/unit1655-first.$(OBJEXT): ../libtest/$(am__dirstamp) \ ../libtest/$(DEPDIR)/$(am__dirstamp) unit1655$(EXEEXT): $(unit1655_OBJECTS) $(unit1655_DEPENDENCIES) $(EXTRA_unit1655_DEPENDENCIES) @rm -f unit1655$(EXEEXT) $(AM_V_CCLD)$(LINK) $(unit1655_OBJECTS) $(unit1655_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f ../libtest/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c |
︙ | ︙ | |||
1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 | @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1620-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1621-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1650-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1651-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1652-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1653-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1654-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1300-unit1300.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1301-unit1301.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1302-unit1302.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1303-unit1303.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1304-unit1304.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1305-unit1305.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1307-unit1307.Po@am__quote@ # am--include-marker | > | 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 | @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1620-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1621-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1650-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1651-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1652-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1653-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1654-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1655-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1300-unit1300.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1301-unit1301.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1302-unit1302.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1303-unit1303.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1304-unit1304.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1305-unit1305.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1307-unit1307.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1620-unit1620.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1621-unit1621.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1650-unit1650.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1651-unit1651.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1652-unit1652.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1653-unit1653.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1654-unit1654.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) | > | 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1620-unit1620.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1621-unit1621.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1650-unit1650.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1651-unit1651.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1652-unit1652.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1653-unit1653.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1654-unit1654.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1655-unit1655.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) |
︙ | ︙ | |||
2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 | ../libtest/unit1654-first.obj: ../libtest/first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libtest/unit1654-first.obj -MD -MP -MF ../libtest/$(DEPDIR)/unit1654-first.Tpo -c -o ../libtest/unit1654-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../libtest/$(DEPDIR)/unit1654-first.Tpo ../libtest/$(DEPDIR)/unit1654-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../libtest/first.c' object='../libtest/unit1654-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libtest/unit1654-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) | > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 | ../libtest/unit1654-first.obj: ../libtest/first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libtest/unit1654-first.obj -MD -MP -MF ../libtest/$(DEPDIR)/unit1654-first.Tpo -c -o ../libtest/unit1654-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../libtest/$(DEPDIR)/unit1654-first.Tpo ../libtest/$(DEPDIR)/unit1654-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../libtest/first.c' object='../libtest/unit1654-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libtest/unit1654-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` unit1655-unit1655.o: unit1655.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1655_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT unit1655-unit1655.o -MD -MP -MF $(DEPDIR)/unit1655-unit1655.Tpo -c -o unit1655-unit1655.o `test -f 'unit1655.c' || echo '$(srcdir)/'`unit1655.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/unit1655-unit1655.Tpo $(DEPDIR)/unit1655-unit1655.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='unit1655.c' object='unit1655-unit1655.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1655_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unit1655-unit1655.o `test -f 'unit1655.c' || echo '$(srcdir)/'`unit1655.c unit1655-unit1655.obj: unit1655.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1655_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT unit1655-unit1655.obj -MD -MP -MF $(DEPDIR)/unit1655-unit1655.Tpo -c -o unit1655-unit1655.obj `if test -f 'unit1655.c'; then $(CYGPATH_W) 'unit1655.c'; else $(CYGPATH_W) '$(srcdir)/unit1655.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/unit1655-unit1655.Tpo $(DEPDIR)/unit1655-unit1655.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='unit1655.c' object='unit1655-unit1655.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1655_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unit1655-unit1655.obj `if test -f 'unit1655.c'; then $(CYGPATH_W) 'unit1655.c'; else $(CYGPATH_W) '$(srcdir)/unit1655.c'; fi` ../libtest/unit1655-first.o: ../libtest/first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1655_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libtest/unit1655-first.o -MD -MP -MF ../libtest/$(DEPDIR)/unit1655-first.Tpo -c -o ../libtest/unit1655-first.o `test -f '../libtest/first.c' || echo '$(srcdir)/'`../libtest/first.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../libtest/$(DEPDIR)/unit1655-first.Tpo ../libtest/$(DEPDIR)/unit1655-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../libtest/first.c' object='../libtest/unit1655-first.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1655_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libtest/unit1655-first.o `test -f '../libtest/first.c' || echo '$(srcdir)/'`../libtest/first.c ../libtest/unit1655-first.obj: ../libtest/first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1655_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libtest/unit1655-first.obj -MD -MP -MF ../libtest/$(DEPDIR)/unit1655-first.Tpo -c -o ../libtest/unit1655-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../libtest/$(DEPDIR)/unit1655-first.Tpo ../libtest/$(DEPDIR)/unit1655-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../libtest/first.c' object='../libtest/unit1655-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1655_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libtest/unit1655-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) |
︙ | ︙ | |||
2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 | -rm -f ../libtest/$(DEPDIR)/unit1620-first.Po -rm -f ../libtest/$(DEPDIR)/unit1621-first.Po -rm -f ../libtest/$(DEPDIR)/unit1650-first.Po -rm -f ../libtest/$(DEPDIR)/unit1651-first.Po -rm -f ../libtest/$(DEPDIR)/unit1652-first.Po -rm -f ../libtest/$(DEPDIR)/unit1653-first.Po -rm -f ../libtest/$(DEPDIR)/unit1654-first.Po -rm -f ./$(DEPDIR)/unit1300-unit1300.Po -rm -f ./$(DEPDIR)/unit1301-unit1301.Po -rm -f ./$(DEPDIR)/unit1302-unit1302.Po -rm -f ./$(DEPDIR)/unit1303-unit1303.Po -rm -f ./$(DEPDIR)/unit1304-unit1304.Po -rm -f ./$(DEPDIR)/unit1305-unit1305.Po -rm -f ./$(DEPDIR)/unit1307-unit1307.Po | > | 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 | -rm -f ../libtest/$(DEPDIR)/unit1620-first.Po -rm -f ../libtest/$(DEPDIR)/unit1621-first.Po -rm -f ../libtest/$(DEPDIR)/unit1650-first.Po -rm -f ../libtest/$(DEPDIR)/unit1651-first.Po -rm -f ../libtest/$(DEPDIR)/unit1652-first.Po -rm -f ../libtest/$(DEPDIR)/unit1653-first.Po -rm -f ../libtest/$(DEPDIR)/unit1654-first.Po -rm -f ../libtest/$(DEPDIR)/unit1655-first.Po -rm -f ./$(DEPDIR)/unit1300-unit1300.Po -rm -f ./$(DEPDIR)/unit1301-unit1301.Po -rm -f ./$(DEPDIR)/unit1302-unit1302.Po -rm -f ./$(DEPDIR)/unit1303-unit1303.Po -rm -f ./$(DEPDIR)/unit1304-unit1304.Po -rm -f ./$(DEPDIR)/unit1305-unit1305.Po -rm -f ./$(DEPDIR)/unit1307-unit1307.Po |
︙ | ︙ | |||
2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 | -rm -f ./$(DEPDIR)/unit1620-unit1620.Po -rm -f ./$(DEPDIR)/unit1621-unit1621.Po -rm -f ./$(DEPDIR)/unit1650-unit1650.Po -rm -f ./$(DEPDIR)/unit1651-unit1651.Po -rm -f ./$(DEPDIR)/unit1652-unit1652.Po -rm -f ./$(DEPDIR)/unit1653-unit1653.Po -rm -f ./$(DEPDIR)/unit1654-unit1654.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: | > | 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 | -rm -f ./$(DEPDIR)/unit1620-unit1620.Po -rm -f ./$(DEPDIR)/unit1621-unit1621.Po -rm -f ./$(DEPDIR)/unit1650-unit1650.Po -rm -f ./$(DEPDIR)/unit1651-unit1651.Po -rm -f ./$(DEPDIR)/unit1652-unit1652.Po -rm -f ./$(DEPDIR)/unit1653-unit1653.Po -rm -f ./$(DEPDIR)/unit1654-unit1654.Po -rm -f ./$(DEPDIR)/unit1655-unit1655.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: |
︙ | ︙ | |||
2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 | -rm -f ../libtest/$(DEPDIR)/unit1620-first.Po -rm -f ../libtest/$(DEPDIR)/unit1621-first.Po -rm -f ../libtest/$(DEPDIR)/unit1650-first.Po -rm -f ../libtest/$(DEPDIR)/unit1651-first.Po -rm -f ../libtest/$(DEPDIR)/unit1652-first.Po -rm -f ../libtest/$(DEPDIR)/unit1653-first.Po -rm -f ../libtest/$(DEPDIR)/unit1654-first.Po -rm -f ./$(DEPDIR)/unit1300-unit1300.Po -rm -f ./$(DEPDIR)/unit1301-unit1301.Po -rm -f ./$(DEPDIR)/unit1302-unit1302.Po -rm -f ./$(DEPDIR)/unit1303-unit1303.Po -rm -f ./$(DEPDIR)/unit1304-unit1304.Po -rm -f ./$(DEPDIR)/unit1305-unit1305.Po -rm -f ./$(DEPDIR)/unit1307-unit1307.Po | > | 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 | -rm -f ../libtest/$(DEPDIR)/unit1620-first.Po -rm -f ../libtest/$(DEPDIR)/unit1621-first.Po -rm -f ../libtest/$(DEPDIR)/unit1650-first.Po -rm -f ../libtest/$(DEPDIR)/unit1651-first.Po -rm -f ../libtest/$(DEPDIR)/unit1652-first.Po -rm -f ../libtest/$(DEPDIR)/unit1653-first.Po -rm -f ../libtest/$(DEPDIR)/unit1654-first.Po -rm -f ../libtest/$(DEPDIR)/unit1655-first.Po -rm -f ./$(DEPDIR)/unit1300-unit1300.Po -rm -f ./$(DEPDIR)/unit1301-unit1301.Po -rm -f ./$(DEPDIR)/unit1302-unit1302.Po -rm -f ./$(DEPDIR)/unit1303-unit1303.Po -rm -f ./$(DEPDIR)/unit1304-unit1304.Po -rm -f ./$(DEPDIR)/unit1305-unit1305.Po -rm -f ./$(DEPDIR)/unit1307-unit1307.Po |
︙ | ︙ | |||
2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 | -rm -f ./$(DEPDIR)/unit1620-unit1620.Po -rm -f ./$(DEPDIR)/unit1621-unit1621.Po -rm -f ./$(DEPDIR)/unit1650-unit1650.Po -rm -f ./$(DEPDIR)/unit1651-unit1651.Po -rm -f ./$(DEPDIR)/unit1652-unit1652.Po -rm -f ./$(DEPDIR)/unit1653-unit1653.Po -rm -f ./$(DEPDIR)/unit1654-unit1654.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool | > | 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 | -rm -f ./$(DEPDIR)/unit1620-unit1620.Po -rm -f ./$(DEPDIR)/unit1621-unit1621.Po -rm -f ./$(DEPDIR)/unit1650-unit1650.Po -rm -f ./$(DEPDIR)/unit1651-unit1651.Po -rm -f ./$(DEPDIR)/unit1652-unit1652.Po -rm -f ./$(DEPDIR)/unit1653-unit1653.Po -rm -f ./$(DEPDIR)/unit1654-unit1654.Po -rm -f ./$(DEPDIR)/unit1655-unit1655.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool |
︙ | ︙ |
Changes to jni/curl/tests/unit/Makefile.inc.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # these files are used in every single unit test program UNITFILES = curlcheck.h \ ../libtest/test.h \ ../libtest/first.c # These are all unit test programs UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \ unit1308 unit1309 unit1323 \ unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \ unit1399 \ unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \ unit1608 unit1609 unit1620 unit1621 \ | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # these files are used in every single unit test program UNITFILES = curlcheck.h \ ../libtest/test.h \ ../libtest/first.c # These are all unit test programs UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \ unit1308 unit1309 unit1323 \ unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \ unit1399 \ unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \ unit1608 unit1609 unit1620 unit1621 \ unit1650 unit1651 unit1652 unit1653 unit1654 unit1655 unit1300_SOURCES = unit1300.c $(UNITFILES) unit1300_CPPFLAGS = $(AM_CPPFLAGS) unit1301_SOURCES = unit1301.c $(UNITFILES) unit1301_CPPFLAGS = $(AM_CPPFLAGS) |
︙ | ︙ | |||
114 115 116 117 118 119 120 | unit1652_CPPFLAGS = $(AM_CPPFLAGS) unit1653_SOURCES = unit1653.c $(UNITFILES) unit1653_CPPFLAGS = $(AM_CPPFLAGS) unit1654_SOURCES = unit1654.c $(UNITFILES) unit1654_CPPFLAGS = $(AM_CPPFLAGS) | > > > > | 114 115 116 117 118 119 120 121 122 123 124 | unit1652_CPPFLAGS = $(AM_CPPFLAGS) unit1653_SOURCES = unit1653.c $(UNITFILES) unit1653_CPPFLAGS = $(AM_CPPFLAGS) unit1654_SOURCES = unit1654.c $(UNITFILES) unit1654_CPPFLAGS = $(AM_CPPFLAGS) unit1655_SOURCES = unit1655.c $(UNITFILES) unit1655_CPPFLAGS = $(AM_CPPFLAGS) |
Changes to jni/curl/tests/unit/README.
︙ | ︙ | |||
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | Write Unit Tests ================ We put tests that focus on an area or a specific function into a single C source file. The source file should be named 'unitNNNN.c' where NNNN is a number that starts with 1300 and you can pick the next free number. You also need a separate file called tests/data/testNNNN (using the same number) that describes your test case. See the test1300 file for inspiration and the tests/FILEFORMAT documentation. For the actual C file, here's a very simple example: ----------------------- start ------------------------------- #include "curlcheck.h" #include "a libcurl header.h" /* from the lib dir */ | > > > | > | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | Write Unit Tests ================ We put tests that focus on an area or a specific function into a single C source file. The source file should be named 'unitNNNN.c' where NNNN is a number that starts with 1300 and you can pick the next free number. Add your test to tests/unit/Makefile.inc (if it is a unit test). Add your test data to tests/data/Makefile.inc You also need a separate file called tests/data/testNNNN (using the same number) that describes your test case. See the test1300 file for inspiration and the tests/FILEFORMAT documentation. For the actual C file, here's a very simple example: ----------------------- start ------------------------------- #include "curlcheck.h" #include "a libcurl header.h" /* from the lib dir */ static CURLcode unit_setup( void ) { /* whatever you want done first */ return CURLE_OK; } static void unit_stop( void ) { /* done before shutting down and exiting */ } |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1303.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
64 65 66 67 68 69 70 | struct timetest { int now_s; int now_us; int timeout_ms; int connecttimeout_ms; bool connecting; | | | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | struct timetest { int now_s; int now_us; int timeout_ms; int connecttimeout_ms; bool connecting; timediff_t result; const char *comment; }; UNITTEST_START { struct curltime now; unsigned int i; |
︙ | ︙ | |||
134 135 136 137 138 139 140 | /* this is the pretended start time of the transfer */ data->progress.t_startsingle.tv_sec = BASE; data->progress.t_startsingle.tv_usec = 0; data->progress.t_startop.tv_sec = BASE; data->progress.t_startop.tv_usec = 0; for(i = 0; i < sizeof(run)/sizeof(run[0]); i++) { | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | /* this is the pretended start time of the transfer */ data->progress.t_startsingle.tv_sec = BASE; data->progress.t_startsingle.tv_usec = 0; data->progress.t_startop.tv_sec = BASE; data->progress.t_startop.tv_usec = 0; for(i = 0; i < sizeof(run)/sizeof(run[0]); i++) { timediff_t timeout; NOW(run[i].now_s, run[i].now_us); TIMEOUTS(run[i].timeout_ms, run[i].connecttimeout_ms); timeout = Curl_timeleft(data, &now, run[i].connecting); if(timeout != run[i].result) fail(run[i].comment); } } UNITTEST_STOP |
Changes to jni/curl/tests/unit/unit1307.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1399.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
46 47 48 49 50 51 52 | int seconds_offset) { Curl_pgrsTime(data, TIMER_STARTSINGLE); data->progress.t_startsingle.tv_sec = fake_now.tv_sec + seconds_offset; data->progress.t_startsingle.tv_usec = fake_now.tv_usec; } | | | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | int seconds_offset) { Curl_pgrsTime(data, TIMER_STARTSINGLE); data->progress.t_startsingle.tv_sec = fake_now.tv_sec + seconds_offset; data->progress.t_startsingle.tv_usec = fake_now.tv_usec; } static bool usec_matches_seconds(timediff_t time_usec, int expected_seconds) { int time_sec = (int)(time_usec / usec_magnitude); bool same = (time_sec == expected_seconds); fprintf(stderr, "is %d us same as %d seconds? %s\n", (int)time_usec, expected_seconds, same?"Yes":"No"); return same; |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1620.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
79 80 81 82 83 84 85 | for(i = (enum dupstring)0; i < STRING_LAST; i++) { fail_unless(empty->set.str[i] == NULL, "Curl_free() did not set to NULL"); } Curl_free_request_state(empty); | | | 79 80 81 82 83 84 85 86 87 88 89 90 | for(i = (enum dupstring)0; i < STRING_LAST; i++) { fail_unless(empty->set.str[i] == NULL, "Curl_free() did not set to NULL"); } Curl_free_request_state(empty); rc = Curl_close(&empty); fail_unless(rc == CURLE_OK, "Curl_close() failed"); } UNITTEST_STOP |
Changes to jni/curl/tests/unit/unit1654.c.
︙ | ︙ | |||
93 94 95 96 97 98 99 100 101 102 103 104 105 106 | ALPN_h2, "example.org", 80); if(result) { fprintf(stderr, "Curl_altsvc_parse(4) failed!\n"); unitfail++; } fail_unless(asi->num == 9, "wrong number of entries"); result = Curl_altsvc_parse(curl, asi, "h2=\":443\", h3=\":443\"; ma = 120; persist = 1", ALPN_h1, "curl.haxx.se", 80); if(result) { fprintf(stderr, "Curl_altsvc_parse(5) failed!\n"); unitfail++; } | > > > > > > > > > | | | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | ALPN_h2, "example.org", 80); if(result) { fprintf(stderr, "Curl_altsvc_parse(4) failed!\n"); unitfail++; } fail_unless(asi->num == 9, "wrong number of entries"); /* quoted 'ma' value */ result = Curl_altsvc_parse(curl, asi, "h2=\"example.net:443\"; ma=\"180\";", ALPN_h2, "example.net", 80); if(result) { fprintf(stderr, "Curl_altsvc_parse(4) failed!\n"); unitfail++; } fail_unless(asi->num == 10, "wrong number of entries"); result = Curl_altsvc_parse(curl, asi, "h2=\":443\", h3=\":443\"; ma = 120; persist = 1", ALPN_h1, "curl.haxx.se", 80); if(result) { fprintf(stderr, "Curl_altsvc_parse(5) failed!\n"); unitfail++; } fail_unless(asi->num == 12, "wrong number of entries"); /* clear that one again and decrease the counter */ result = Curl_altsvc_parse(curl, asi, "clear;", ALPN_h1, "curl.haxx.se", 80); if(result) { fprintf(stderr, "Curl_altsvc_parse(6) failed!\n"); unitfail++; } fail_unless(asi->num == 10, "wrong number of entries"); Curl_altsvc_save(asi, outname); curl_easy_cleanup(curl); fail: Curl_altsvc_cleanup(asi); return unitfail; |
︙ | ︙ |
Added jni/curl/tests/unit/unit1655.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curlcheck.h" #include "doh.h" /* from the lib dir */ static CURLcode unit_setup(void) { /* whatever you want done first */ return CURLE_OK; } static void unit_stop(void) { /* done before shutting down and exiting */ } UNITTEST_START /* introduce a scope and prove the corner case with write overflow, * so we can prove this test would detect it and that it is properly fixed */ do { const char *bad = "this.is.a.hostname.where.each.individual.part.is.within." "the.sixtythree.character.limit.but.still.long.enough.to." "trigger.the.the.buffer.overflow......it.is.chosen.to.be." "of.a.length.such.that.it.causes.a.two.byte.buffer......." "overwrite.....making.it.longer.causes.doh.encode.to....." ".return.early.so.dont.change.its.length.xxxx.xxxxxxxxxxx" "..xxxxxx.....xx..........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxx..x......xxxx" "xxxx..xxxxxxxxxxxxxxxxxxx.x...xxxx.x.x.x...xxxxx"; /* plays the role of struct dnsprobe in urldata.h */ struct demo { unsigned char dohbuffer[512]; unsigned char canary1; unsigned char canary2; unsigned char canary3; }; size_t olen = 100000; struct demo victim; DOHcode d; victim.canary1 = 87; /* magic numbers, arbritrarily picked */ victim.canary2 = 35; victim.canary3 = 41; d = doh_encode(bad, DNS_TYPE_A, victim.dohbuffer, sizeof(victim.dohbuffer), &olen); fail_unless(victim.canary1 == 87, "one byte buffer overwrite has happened"); fail_unless(victim.canary2 == 35, "two byte buffer overwrite has happened"); fail_unless(victim.canary3 == 41, "three byte buffer overwrite has happened"); if(d == DOH_OK) { fail_unless(olen <= sizeof(victim.dohbuffer), "wrote outside bounds"); fail_unless(olen > strlen(bad), "unrealistic low size"); } } while(0); /* run normal cases and try to trigger buffer length related errors */ do { DNStype dnstype = DNS_TYPE_A; unsigned char buffer[128]; const size_t buflen = sizeof(buffer); const size_t magic1 = 9765; size_t olen1 = magic1; const char *sunshine1 = "a.com"; const char *sunshine2 = "aa.com"; size_t olen2; DOHcode ret2; size_t olen; DOHcode ret = doh_encode(sunshine1, dnstype, buffer, buflen, &olen1); fail_unless(ret == DOH_OK, "sunshine case 1 should pass fine"); fail_if(olen1 == magic1, "olen has not been assigned properly"); fail_unless(olen1 > strlen(sunshine1), "bad out length"); /* add one letter, the response should be one longer */ olen2 = magic1; ret2 = doh_encode(sunshine2, dnstype, buffer, buflen, &olen2); fail_unless(ret2 == DOH_OK, "sunshine case 2 should pass fine"); fail_if(olen2 == magic1, "olen has not been assigned properly"); fail_unless(olen1 + 1 == olen2, "olen should grow with the hostname"); /* pass a short buffer, should fail */ ret = doh_encode(sunshine1, dnstype, buffer, olen1 - 1, &olen); fail_if(ret == DOH_OK, "short buffer should have been noticed"); /* pass a minimum buffer, should succeed */ ret = doh_encode(sunshine1, dnstype, buffer, olen1, &olen); fail_unless(ret == DOH_OK, "minimal length buffer should be long enough"); fail_unless(olen == olen1, "bad buffer length"); } while(0); UNITTEST_STOP |
Changes to jni/curl/winbuild/Makefile.vc.
︙ | ︙ | |||
55 56 57 58 59 60 61 62 63 64 65 66 67 68 | !MESSAGE ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes !MESSAGE Requires Windows Vista or later !MESSAGE ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes !MESSAGE ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes !MESSAGE ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes !MESSAGE ENABLE_OPENSSL_AUTO_LOAD_CONFIG=<yes or no> !MESSAGE - Whether the OpenSSL configuration will be loaded automatically, defaults to yes !MESSAGE GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build) !MESSAGE DEBUG=<yes or no> - Debug builds !MESSAGE MACHINE=<x86 or x64> - Target architecture (default x64 on AMD64, x86 on others) !MESSAGE CARES_PATH=<path to cares> - Custom path for c-ares !MESSAGE MBEDTLS_PATH=<path to mbedTLS> - Custom path for mbedTLS !MESSAGE NGHTTP2_PATH=<path to HTTP/2> - Custom path for nghttp2 !MESSAGE SSH2_PATH=<path to libSSH2> - Custom path for libSSH2 | > | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | !MESSAGE ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes !MESSAGE Requires Windows Vista or later !MESSAGE ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes !MESSAGE ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes !MESSAGE ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes !MESSAGE ENABLE_OPENSSL_AUTO_LOAD_CONFIG=<yes or no> !MESSAGE - Whether the OpenSSL configuration will be loaded automatically, defaults to yes !MESSAGE ENABLE_UNICODE=<yes or no> - Enable UNICODE support, defaults to no !MESSAGE GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build) !MESSAGE DEBUG=<yes or no> - Debug builds !MESSAGE MACHINE=<x86 or x64> - Target architecture (default x64 on AMD64, x86 on others) !MESSAGE CARES_PATH=<path to cares> - Custom path for c-ares !MESSAGE MBEDTLS_PATH=<path to mbedTLS> - Custom path for mbedTLS !MESSAGE NGHTTP2_PATH=<path to HTTP/2> - Custom path for nghttp2 !MESSAGE SSH2_PATH=<path to libSSH2> - Custom path for libSSH2 |
︙ | ︙ | |||
141 142 143 144 145 146 147 148 149 150 151 152 153 154 | !ELSEIF "$(ENABLE_OPENSSL_AUTO_LOAD_CONFIG)"=="yes" !UNDEF ENABLE_OPENSSL_AUTO_LOAD_CONFIG ENABLE_OPENSSL_AUTO_LOAD_CONFIG = true !ELSEIF "$(ENABLE_OPENSSL_AUTO_LOAD_CONFIG)"=="no" !UNDEF ENABLE_OPENSSL_AUTO_LOAD_CONFIG ENABLE_OPENSSL_AUTO_LOAD_CONFIG = false !ENDIF CONFIG_NAME_LIB = libcurl !IF "$(WITH_SSL)"=="dll" USE_SSL = true SSL = dll !ELSEIF "$(WITH_SSL)"=="static" | > > > > > > > > | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | !ELSEIF "$(ENABLE_OPENSSL_AUTO_LOAD_CONFIG)"=="yes" !UNDEF ENABLE_OPENSSL_AUTO_LOAD_CONFIG ENABLE_OPENSSL_AUTO_LOAD_CONFIG = true !ELSEIF "$(ENABLE_OPENSSL_AUTO_LOAD_CONFIG)"=="no" !UNDEF ENABLE_OPENSSL_AUTO_LOAD_CONFIG ENABLE_OPENSSL_AUTO_LOAD_CONFIG = false !ENDIF !IFNDEF ENABLE_UNICODE USE_UNICODE = false !ELSEIF "$(ENABLE_UNICODE)"=="yes" USE_UNICODE = true !ELSEIF "$(ENABLE_UNICODE)"=="no" USE_UNICODE = false !ENDIF CONFIG_NAME_LIB = libcurl !IF "$(WITH_SSL)"=="dll" USE_SSL = true SSL = dll !ELSEIF "$(WITH_SSL)"=="static" |
︙ | ︙ | |||
273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | @SET CONFIG_NAME_LIB=$(CONFIG_NAME_LIB) @SET MACHINE=$(MACHINE) @SET USE_NGHTTP2=$(USE_NGHTTP2) @SET USE_IDN=$(USE_IDN) @SET USE_IPV6=$(USE_IPV6) @SET USE_SSPI=$(USE_SSPI) @SET USE_WINSSL=$(USE_WINSSL) # compatibility bit @SET WITH_NGHTTP2=$(WITH_NGHTTP2) @$(MAKE) /NOLOGO /F MakefileBuild.vc copy_from_lib: echo copying .c... FOR %%i IN ($(CURLX_CFILES:/=\)) DO copy %%i ..\src\ clean: $(MAKE) /NOLOGO /F MakefileBuild.vc $@ | > | 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 | @SET CONFIG_NAME_LIB=$(CONFIG_NAME_LIB) @SET MACHINE=$(MACHINE) @SET USE_NGHTTP2=$(USE_NGHTTP2) @SET USE_IDN=$(USE_IDN) @SET USE_IPV6=$(USE_IPV6) @SET USE_SSPI=$(USE_SSPI) @SET USE_WINSSL=$(USE_WINSSL) @SET USE_UNICODE=$(USE_UNICODE) # compatibility bit @SET WITH_NGHTTP2=$(WITH_NGHTTP2) @$(MAKE) /NOLOGO /F MakefileBuild.vc copy_from_lib: echo copying .c... FOR %%i IN ($(CURLX_CFILES:/=\)) DO copy %%i ..\src\ clean: $(MAKE) /NOLOGO /F MakefileBuild.vc $@ |
Changes to jni/curl/winbuild/MakefileBuild.vc.
︙ | ︙ | |||
389 390 391 392 393 394 395 | # CURL_XX macros are for the curl.exe command !IF "$(DEBUG)"=="yes" RC_FLAGS = /dDEBUGBUILD=1 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc CURL_CC = $(CC_DEBUG) $(RTLIB_DEBUG) | | | | 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 | # CURL_XX macros are for the curl.exe command !IF "$(DEBUG)"=="yes" RC_FLAGS = /dDEBUGBUILD=1 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc CURL_CC = $(CC_DEBUG) $(RTLIB_DEBUG) CURL_RC_FLAGS = $(CURL_RC_FLAGS) /i../include /dDEBUGBUILD=1 /Fo $@ $(CURL_SRC_DIR)\curl.rc !ELSE RC_FLAGS = /dDEBUGBUILD=0 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc CURL_CC = $(CC_NODEBUG) $(RTLIB) CURL_RC_FLAGS = $(CURL_RC_FLAGS) /i../include /dDEBUGBUILD=0 /Fo $@ $(CURL_SRC_DIR)\curl.rc !ENDIF !IF "$(AS_DLL)" == "true" LNK = $(LNKDLL) $(LFLAGS) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET) !IF "$(DEBUG)"=="yes" TARGET = $(LIB_NAME_DLL_DEBUG) |
︙ | ︙ | |||
480 481 482 483 484 485 486 487 488 489 490 491 492 493 | !ENDIF !IF ( "$(USE_SSL)"=="true" && "$(USE_WINSSL)"=="true" ) \ || ( "$(USE_SSL)"=="true" && "$(USE_MBEDTLS)"=="true" ) \ || ( "$(USE_MBEDTLS)"=="true" && "$(USE_WINSSL)"=="true" ) CFLAGS = $(CFLAGS) /DCURL_WITH_MULTI_SSL !ENDIF LIB_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-lib CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl !IFDEF WITH_PREFIX DIRDIST = $(WITH_PREFIX) !ELSE | > > > > | 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 | !ENDIF !IF ( "$(USE_SSL)"=="true" && "$(USE_WINSSL)"=="true" ) \ || ( "$(USE_SSL)"=="true" && "$(USE_MBEDTLS)"=="true" ) \ || ( "$(USE_MBEDTLS)"=="true" && "$(USE_WINSSL)"=="true" ) CFLAGS = $(CFLAGS) /DCURL_WITH_MULTI_SSL !ENDIF !IF "$(USE_UNICODE)"=="true" CFLAGS = $(CFLAGS) /DUNICODE /D_UNICODE !ENDIF LIB_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-lib CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl !IFDEF WITH_PREFIX DIRDIST = $(WITH_PREFIX) !ELSE |
︙ | ︙ | |||
555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 | @if not exist "$(DIRDIST)\include\curl" mkdir $(DIRDIST)\include\curl @if not exist "$(DIRDIST)\lib" mkdir $(DIRDIST)\lib $(LIB_DIROBJ): @if not exist "$(LIB_DIROBJ)" mkdir $(LIB_DIROBJ) @if not exist "$(LIB_DIROBJ)\vauth" mkdir $(LIB_DIROBJ)\vauth @if not exist "$(LIB_DIROBJ)\vtls" mkdir $(LIB_DIROBJ)\vtls @if not exist "$(LIB_DIROBJ)\vquic" mkdir $(LIB_DIROBJ)\vquic $(CURL_DIROBJ): @if not exist "$(CURL_DIROBJ)" mkdir $(CURL_DIROBJ) # we need a lib dir for the portability functions from libcurl # we use the .c directly here @if not exist "$(CURL_DIROBJ)" mkdir $(CURL_DIROBJ)\lib .SUFFIXES: .c .obj .res {$(LIBCURL_SRC_DIR)\}.c{$(LIB_DIROBJ)\}.obj: $(CURL_CC) $(CFLAGS) /Fo"$@" $< {$(LIBCURL_SRC_DIR)\vauth\}.c{$(LIB_DIROBJ)\vauth\}.obj: $(CURL_CC) $(CFLAGS) /Fo"$@" $< {$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj: $(CURL_CC) $(CFLAGS) /Fo"$@" $< {$(LIBCURL_SRC_DIR)\vquic\}.c{$(LIB_DIROBJ)\vquic\}.obj: $(CURL_CC) $(CFLAGS) /Fo"$@" $< $(LIB_DIROBJ)\libcurl.res: $(LIBCURL_SRC_DIR)\libcurl.rc $(RC) $(RC_FLAGS) | > > > > | 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 | @if not exist "$(DIRDIST)\include\curl" mkdir $(DIRDIST)\include\curl @if not exist "$(DIRDIST)\lib" mkdir $(DIRDIST)\lib $(LIB_DIROBJ): @if not exist "$(LIB_DIROBJ)" mkdir $(LIB_DIROBJ) @if not exist "$(LIB_DIROBJ)\vauth" mkdir $(LIB_DIROBJ)\vauth @if not exist "$(LIB_DIROBJ)\vtls" mkdir $(LIB_DIROBJ)\vtls @if not exist "$(LIB_DIROBJ)\vssh" mkdir $(LIB_DIROBJ)\vssh @if not exist "$(LIB_DIROBJ)\vquic" mkdir $(LIB_DIROBJ)\vquic $(CURL_DIROBJ): @if not exist "$(CURL_DIROBJ)" mkdir $(CURL_DIROBJ) # we need a lib dir for the portability functions from libcurl # we use the .c directly here @if not exist "$(CURL_DIROBJ)" mkdir $(CURL_DIROBJ)\lib .SUFFIXES: .c .obj .res {$(LIBCURL_SRC_DIR)\}.c{$(LIB_DIROBJ)\}.obj: $(CURL_CC) $(CFLAGS) /Fo"$@" $< {$(LIBCURL_SRC_DIR)\vauth\}.c{$(LIB_DIROBJ)\vauth\}.obj: $(CURL_CC) $(CFLAGS) /Fo"$@" $< {$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj: $(CURL_CC) $(CFLAGS) /Fo"$@" $< {$(LIBCURL_SRC_DIR)\vssh\}.c{$(LIB_DIROBJ)\vssh\}.obj: $(CURL_CC) $(CFLAGS) /Fo"$@" $< {$(LIBCURL_SRC_DIR)\vquic\}.c{$(LIB_DIROBJ)\vquic\}.obj: $(CURL_CC) $(CFLAGS) /Fo"$@" $< $(LIB_DIROBJ)\libcurl.res: $(LIBCURL_SRC_DIR)\libcurl.rc $(RC) $(RC_FLAGS) |
︙ | ︙ |