<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="6.13.1@1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51">
  <file src="src/BufferStream.php">
    <FalsableReturnStatement>
      <code><![CDATA[$result]]></code>
    </FalsableReturnStatement>
    <PossiblyFalsePropertyAssignmentValue>
      <code><![CDATA[substr($this->buffer, $length)]]></code>
    </PossiblyFalsePropertyAssignmentValue>
  </file>
  <file src="src/CachingStream.php">
    <PossiblyFalseArgument>
      <code><![CDATA[$remoteData]]></code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand>
      <code><![CDATA[$remoteData]]></code>
    </PossiblyFalseOperand>
  </file>
  <file src="src/DroppingStream.php">
    <PossiblyFalseArgument>
      <code><![CDATA[substr($string, 0, $diff)]]></code>
    </PossiblyFalseArgument>
  </file>
  <file src="src/FnStream.php">
    <UndefinedThisPropertyFetch>
      <code><![CDATA[$this->_fn___toString]]></code>
      <code><![CDATA[$this->_fn_close]]></code>
      <code><![CDATA[$this->_fn_close]]></code>
      <code><![CDATA[$this->_fn_detach]]></code>
      <code><![CDATA[$this->_fn_eof]]></code>
      <code><![CDATA[$this->_fn_getContents]]></code>
      <code><![CDATA[$this->_fn_getMetadata]]></code>
      <code><![CDATA[$this->_fn_getSize]]></code>
      <code><![CDATA[$this->_fn_isReadable]]></code>
      <code><![CDATA[$this->_fn_isSeekable]]></code>
      <code><![CDATA[$this->_fn_isWritable]]></code>
      <code><![CDATA[$this->_fn_read]]></code>
      <code><![CDATA[$this->_fn_rewind]]></code>
      <code><![CDATA[$this->_fn_seek]]></code>
      <code><![CDATA[$this->_fn_tell]]></code>
      <code><![CDATA[$this->_fn_write]]></code>
    </UndefinedThisPropertyFetch>
  </file>
  <file src="src/Header.php">
    <PossiblyUndefinedArrayOffset>
      <code><![CDATA[$m[0]]]></code>
    </PossiblyUndefinedArrayOffset>
  </file>
  <file src="src/HttpFactory.php">
    <ParamNameMismatch>
      <code><![CDATA[$file]]></code>
    </ParamNameMismatch>
  </file>
  <file src="src/Message.php">
    <ImplicitToStringCast>
      <code><![CDATA[$message->getBody()]]></code>
    </ImplicitToStringCast>
    <PossiblyNullArgument>
      <code><![CDATA[$matches[1] === '/' ? self::parseRequestUri($parts[1], $data['headers']) : $parts[1]]]></code>
      <code><![CDATA[$parts[1]]]></code>
      <code><![CDATA[$parts[1]]]></code>
      <code><![CDATA[$rawHeaders]]></code>
      <code><![CDATA[$rawHeaders]]></code>
    </PossiblyNullArgument>
    <PossiblyUndefinedArrayOffset>
      <code><![CDATA[$parts[1]]]></code>
      <code><![CDATA[$parts[1]]]></code>
      <code><![CDATA[$parts[1]]]></code>
      <code><![CDATA[$parts[1]]]></code>
    </PossiblyUndefinedArrayOffset>
  </file>
  <file src="src/MessageTrait.php">
    <LessSpecificImplementedReturnType>
      <code><![CDATA[MessageInterface]]></code>
      <code><![CDATA[MessageInterface]]></code>
      <code><![CDATA[MessageInterface]]></code>
      <code><![CDATA[MessageInterface]]></code>
      <code><![CDATA[MessageInterface]]></code>
      <code><![CDATA[array]]></code>
      <code><![CDATA[array]]></code>
    </LessSpecificImplementedReturnType>
    <ParamNameMismatch>
      <code><![CDATA[$header]]></code>
      <code><![CDATA[$header]]></code>
      <code><![CDATA[$header]]></code>
      <code><![CDATA[$header]]></code>
      <code><![CDATA[$header]]></code>
      <code><![CDATA[$header]]></code>
    </ParamNameMismatch>
  </file>
  <file src="src/Request.php">
    <NoValue>
      <code><![CDATA[$header]]></code>
    </NoValue>
  </file>
  <file src="src/Response.php">
    <RedundantCast>
      <code><![CDATA[(int) $code]]></code>
      <code><![CDATA[(string) $reasonPhrase]]></code>
    </RedundantCast>
  </file>
  <file src="src/ServerRequest.php">
    <InvalidArgument>
      <code><![CDATA[$_SERVER['SERVER_PORT']]]></code>
    </InvalidArgument>
    <InvalidArrayOffset>
      <code><![CDATA[$normalizedFiles[$key]]]></code>
    </InvalidArrayOffset>
    <InvalidReturnStatement>
      <code><![CDATA[$normalizedFiles]]></code>
    </InvalidReturnStatement>
    <InvalidReturnType>
      <code><![CDATA[UploadedFileInterface[]]]></code>
    </InvalidReturnType>
    <ParamNameMismatch>
      <code><![CDATA[$attribute]]></code>
      <code><![CDATA[$attribute]]></code>
      <code><![CDATA[$attribute]]></code>
    </ParamNameMismatch>
  </file>
  <file src="src/Stream.php">
    <InvalidPropertyAssignmentValue>
      <code><![CDATA[$this->stream]]></code>
    </InvalidPropertyAssignmentValue>
    <RedundantCast>
      <code><![CDATA[(int) $whence]]></code>
    </RedundantCast>
    <RedundantPropertyInitializationCheck>
      <code><![CDATA[isset($this->stream)]]></code>
      <code><![CDATA[isset($this->stream)]]></code>
      <code><![CDATA[isset($this->stream)]]></code>
      <code><![CDATA[isset($this->stream)]]></code>
      <code><![CDATA[isset($this->stream)]]></code>
      <code><![CDATA[isset($this->stream)]]></code>
      <code><![CDATA[isset($this->stream)]]></code>
      <code><![CDATA[isset($this->stream)]]></code>
      <code><![CDATA[isset($this->stream)]]></code>
      <code><![CDATA[isset($this->stream)]]></code>
    </RedundantPropertyInitializationCheck>
  </file>
  <file src="src/StreamWrapper.php">
    <FalsableReturnStatement>
      <code><![CDATA[fopen('guzzle://stream', $mode, false, self::createStreamContext($stream))]]></code>
    </FalsableReturnStatement>
  </file>
  <file src="src/Uri.php">
    <InvalidNullableReturnType>
      <code><![CDATA[string]]></code>
      <code><![CDATA[string]]></code>
      <code><![CDATA[string]]></code>
    </InvalidNullableReturnType>
    <NullableReturnStatement>
      <code><![CDATA[preg_replace_callback(
            '/(?:[^%'.self::CHAR_UNRESERVED.self::CHAR_SUB_DELIMS.']+|%(?![A-Fa-f0-9]{2}))/',
            [$this, 'rawurlencodeMatchZero'],
            $component
        )]]></code>
      <code><![CDATA[preg_replace_callback(
            '/(?:[^'.self::CHAR_UNRESERVED.self::CHAR_SUB_DELIMS.'%:@\/\?]++|%(?![A-Fa-f0-9]{2}))/',
            [$this, 'rawurlencodeMatchZero'],
            $str
        )]]></code>
      <code><![CDATA[preg_replace_callback(
            '/(?:[^'.self::CHAR_UNRESERVED.self::CHAR_SUB_DELIMS.'%:@\/]++|%(?![A-Fa-f0-9]{2}))/',
            [$this, 'rawurlencodeMatchZero'],
            $path
        )]]></code>
    </NullableReturnStatement>
    <PossiblyInvalidArgument>
      <code><![CDATA[$result]]></code>
    </PossiblyInvalidArgument>
  </file>
  <file src="src/UriNormalizer.php">
    <PossiblyNullArgument>
      <code><![CDATA[preg_replace('#//++#', '/', $uri->getPath())]]></code>
      <code><![CDATA[preg_replace_callback($regex, $callback, $uri->getPath())]]></code>
      <code><![CDATA[preg_replace_callback($regex, $callback, $uri->getPath())]]></code>
      <code><![CDATA[preg_replace_callback($regex, $callback, $uri->getQuery())]]></code>
      <code><![CDATA[preg_replace_callback($regex, $callback, $uri->getQuery())]]></code>
    </PossiblyNullArgument>
  </file>
  <file src="src/UriResolver.php">
    <PossiblyFalseOperand>
      <code><![CDATA[substr($base->getPath(), 0, $lastSlashPos + 1)]]></code>
    </PossiblyFalseOperand>
    <TypeDoesNotContainType>
      <code><![CDATA['' === $relativePath]]></code>
    </TypeDoesNotContainType>
  </file>
  <file src="src/Utils.php">
    <FalsableReturnStatement>
      <code><![CDATA[$contents]]></code>
    </FalsableReturnStatement>
    <PossiblyFalseArgument>
      <code><![CDATA[$ctx]]></code>
      <code><![CDATA[$ctx]]></code>
      <code><![CDATA[\substr($userInfo, 0, $pos)]]></code>
    </PossiblyFalseArgument>
    <PossiblyUndefinedVariable>
      <code><![CDATA[$contents]]></code>
      <code><![CDATA[$handle]]></code>
    </PossiblyUndefinedVariable>
  </file>
</files>
