Received: by mail2.ietf.org (Postfix)
	id AD90BECA14F2; Mon, 11 May 2026 13:12:37 -0700 (PDT)
Delivered-To: ietfarch-httpbisa-archive-bis2juki@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1])
	by mail2.ietf.org (Postfix) with ESMTP id AA4CDECA14F1
	for <ietfarch-httpbisa-archive-bis2Juki@mail2.ietf.org>; Mon, 11 May 2026 13:12:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1;
	t=1778530357; bh=kG/TLCKHTECrkDDgIh52Rp02Vr92ws7Wt3B5vksLHMg=;
	h=Resent-Date:References:In-Reply-To:From:Date:To:Cc:Subject:
	 Resent-From:Resent-Sender:List-Id:List-Help:List-Post:
	 List-Unsubscribe;
	b=pxC+jwsJpia2hLZcnmDEULKzq5sI2PVtRJGAFEk5mxUG/sxbKmfaS6qrElP8GQd2h
	 TMVln8jvBL/k2mfoU/Wgiz2qlwKCzJbd2anj9Xt9XiD/+f3l3dP6lSt6PrMeb4G/Oj
	 X+AKsexJQBFtUoYDpWRMFjfdzIHD82G4oAjS75yY=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -5.399
X-Spam-Level:
X-Spam-Status: No, score=-5.399 tagged_above=-999 required=5
	tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
	DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
	HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001,
	MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001]
	autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key)
	header.d=w3.org header.b="mF77vXCP"; dkim=pass (2048-bit key)
	header.d=w3.org header.b="nlUZ2V53"; dkim=pass (2048-bit key)
	header.d=gmail.com header.b="j52K3wzE"
Received: from mail2.ietf.org ([166.84.6.31])
	by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 8P2ZNOlBhOl4
	for <ietfarch-httpbisa-archive-bis2Juki@mail2.ietf.org>;
	Mon, 11 May 2026 13:12:33 -0700 (PDT)
Received: from mab.w3.org (mab.w3.org [IPv6:2600:1f18:7d7a:2700:d091:4b25:8566:8113])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256)
	(No client certificate requested)
	by mail2.ietf.org (Postfix) with ESMTPS id C7667ECA14E8
	for <httpbisa-archive-bis2Juki@ietf.org>; Mon, 11 May 2026 13:12:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org;
	s=s1; h=Subject:Content-Type:Cc:To:Message-ID:Date:From:In-Reply-To:
	References:MIME-Version:Reply-To;
	bh=kG/TLCKHTECrkDDgIh52Rp02Vr92ws7Wt3B5vksLHMg=; b=mF77vXCPkwu0/a7KzDDQwGliTt
	4KR5nykblgDYaoJDNO/9lZcjWvUqhwBZtQKNZJjMxfw84BD3nJBjkUbFekXCclonS86ERg1WFnPl4
	RicatGCvIHa4qeTPGK3n4CJaHVll8HNfRMahGyPhnmRpQeW3MZYP0C8N/YGrWU+R3+zJhvf1pzydS
	boZks0C3edNw8lKBRRQ6Ag/aBh8nmsInKfFyY1MzYBDQEYU7+VfsSgFGxKos+XjRM2v2HcuN7XSxa
	sJcC/Y9kif+ZuDNsJb+aU2sJ6yzBeFONBsJY62RDG5BX9RptqCBfvX8a5cgW586XHIkKnlZngFFio
	LMFdDIbA==;
Received: from lists by mab.w3.org with local (Exim 4.96)
	(envelope-from <ietf-http-wg-request@listhub.w3.org>)
	id 1wMWyA-002T0e-1C
	for ietf-http-wg-dist@listhub.w3.org;
	Mon, 11 May 2026 20:11:14 +0000
Resent-Date: Mon, 11 May 2026 20:11:14 +0000
Resent-Message-Id: <E1wMWyA-002T0e-1C@mab.w3.org>
Received: from ip-10-0-0-144.ec2.internal ([10.0.0.144] helo=pan.w3.org)
	by mab.w3.org with esmtps  (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
	(Exim 4.96)
	(envelope-from <roryhewitt@gmail.com>)
	id 1wMWy8-002Szq-1Z
	for ietf-http-wg@listhub.w3.internal;
	Mon, 11 May 2026 20:11:12 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org;
	s=s1; h=Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:
	References:MIME-Version:Reply-To;
	bh=kG/TLCKHTECrkDDgIh52Rp02Vr92ws7Wt3B5vksLHMg=; t=1778530272; x=1779394272; 
	b=nlUZ2V53RAtk5PrX1La/lx9QwiKuYI0iWOFxhN2meIlnbb1seleNHiY5OMmPAyzFow5inLxrrSL
	VABHi8ZfUrGPgX2j1jjvyVJTvaNWG37j4wvQ4Psnw/iuGBKhpUTGZr9ds+jzCcz3BQBdQEokox3Qk
	BB0T/IDJA8M07KeK9wZY+usQAeO48LxSF5+GdO5/PdMHXq/qEtuU6SgfghdGdBmyCihl/5aKM84k2
	tmSnO40Ps8smvHUHL1cBWp5FU6hxzNp61Pfzro12crCF9XMwVjDaiaj6zrkU2y4SoinWHHZbs7B3r
	YIUX+HgCwkS+qAJDxhIys9IlUNPRo3bG9Efw==;
Received-SPF: pass (pan.w3.org: domain of gmail.com designates 2a00:1450:4864:20::636 as permitted sender) client-ip=2a00:1450:4864:20::636; envelope-from=roryhewitt@gmail.com; helo=mail-ej1-x636.google.com;
Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636])
	by pan.w3.org with esmtps  (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	(Exim 4.96)
	(envelope-from <roryhewitt@gmail.com>)
	id 1wMWy4-000IZt-1U
	for ietf-http-wg@w3.org;
	Mon, 11 May 2026 20:11:12 +0000
Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-bcc9fdc959cso331600966b.2
        for <ietf-http-wg@w3.org>; Mon, 11 May 2026 13:11:08 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1778530264; cv=none;
        d=google.com; s=arc-20240605;
        b=ADj6SekZ6/ts2VOKDV8oD4CresBE9tQleTpbVd6hxIB5B8co+Uhh3SsGvHqpXrQvdY
         Ibl5/npnc+06ZHQy67ab4eGIONcFshg0va6Pfrx+kLaYCvUCXsLxide3mqhKUw33FkNc
         cgWGIBi5U8NM0PCUSNIZGCB3FUpcAkonakhZheA8AgyGGku/AlDfuqACdkWkbF+klSBz
         mdO/x/ES48QjjP+XwCg2uCAoFrgqs3uX8giGi8nxjJBLOS90dVdiVLt4BdQJ8b+1y2u8
         1BoV0Jg69+0A9xRf1Cb8QVc4LTnj+psxUBY31zeCfTda5I0GSG/o4qroEXoowCYQAf0R
         KVqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=kG/TLCKHTECrkDDgIh52Rp02Vr92ws7Wt3B5vksLHMg=;
        fh=UZkbem6ceaAbhtzXQaYSI5+lpxf1HJuSss7pE1o1ZNk=;
        b=kzKzb3theBxllPSrYT37vXrKbf4B+yGD4Fx0U+C6ZrjTzbozBunMABJXFhZl1OJ+Dv
         41g5T+fl2hngzcezdigVpabiOem5Rw1TccsCmFo7Jg6eyOMlrTW+46hdv1ZJ7jblK+NQ
         de42khBWLEGCQG1E57sWpWhYrM3QChTrCwGu5sj5mZypTYV7Jrz/ZbfKyqHGPv7lshab
         yu/vlLjsV0dMwVeng6leSlHiKa0KuC/NPMxZcd3LyrGOQikQusK/1bjGOewPT6MvniWZ
         VTMHqHzEi/s/elyREHCXELfV748axeHyooBZAIWU6FLt6B4/eMwWFWXBk89UPqtInNWD
         Ntyg==;
        darn=w3.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1778530264; x=1779135064; darn=w3.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=kG/TLCKHTECrkDDgIh52Rp02Vr92ws7Wt3B5vksLHMg=;
        b=j52K3wzE7fecs2YnM1oP9zG0M1imGYnBsDOrrBAFieAnfuZ+z8um7oAFlNipnknc4+
         j7ijVnLmESuGF6d4Czqw7WGwhLhYrGBuGCEGxOUdywkaWuxhsf7gmUIP/gZ7xkpyweGF
         oA0A0BN2Vbf+jO20A2DBp+ATh1iO6jbq9DTfZRZ17SP1zRG3k5dhh6crPcMLqZwQUb0N
         TslsEyEDxkfG7F1DaMN3tsMyZ5WgF0haQ6F7KoF7RQTxF0xAQL1dKAZhQPr7wNWn0D4r
         7HEktPbPPOh8PzXn5iC2Z3lAxlw7zR5bVcfYr7xjQTGO1GSCnVz8xI1fieu+4537bERu
         pPTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1778530264; x=1779135064;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kG/TLCKHTECrkDDgIh52Rp02Vr92ws7Wt3B5vksLHMg=;
        b=aXxCkatz+DTir36A1hXVLko3oXAJGEgg73DTO1YJiU+ZXZZ0ySGMxoHOKyafrn0CS1
         BoyJFCXcbjvr4+8Sz1r0aEkbapl+nlZGxI+jzYJPDYjU9p7c97prbEcv8AWYVtFcMQMV
         ukiLwb+dgoROqYYJhYgGEEsrMpNGh3x+c0f/QGWHsQcO9Hpw+j6iA84d4UBKpUNtV9GO
         PMYgczF9EsAAbA/JvFbxiFXO/OjTM3dnKtYORdn+XSWNx4iFWj7qrHkgTAEcRpRZEyeT
         QBX256QHkLKQqH85rhf2dCIbay4S7qIRtdOAstXCudYIq3NgFeVcbOlALCxC+QU4tPsn
         u0Ng==
X-Gm-Message-State: AOJu0YzN7jPPIVvmpPk5x1jl46Zb+WwiWRuoJORpmFVAEXpZqGcJzvML
	0JoFTuUyd2FCPu2qNa6vIvd5kp6k3JozMcP46ickOzbk6vfW+D4xmgdD/bLTLQ7uMD2Zf376ey9
	RrHvzwDuAmFpbn6V+NCicM9B8O97qqA0=
X-Gm-Gg: Acq92OFMZEJQ7tEt6etAgG8LA+PN/lPJH8zasJXrFQX9fl5vMjlmpesRFkKzGjtKzcf
	s6tDibyI5nl0cfTyQyArx64hS6f2/iAaHkOSWSXp/m38/8bxivlHPaSH0NP2eBtn4MXZXJiAIVp
	P+D+Ip+Q3Gcvuu6q3UA7GGkX3fOJocpInxoSxOTZHXCpg5ia9xZShgHEeQPcjgWaPyiuYLU024E
	SfNt/wn4g7TkAD2rRvWbERRwqJXp2lUEDM+evr3SmLfSrLtODbowGWe/SoqdfE7+3EH5Ngsqgxn
	5FMhGwYVXYJlL8HUHgJb2/eVrsyh58Q7wIZo+Q53ZGKubQieooacwj8oZxxIRhUrdRutI8j+/0C
	Jx1gh2/4=
X-Received: by 2002:a17:907:7208:b0:bd0:fe53:ff1d with SMTP id
 a640c23a62f3a-bd0fe54047emr286447566b.29.1778530264046; Mon, 11 May 2026
 13:11:04 -0700 (PDT)
MIME-Version: 1.0
References: <83736c89-5d58-4965-a16e-13d5c40a567b@app.fastmail.com>
In-Reply-To: <83736c89-5d58-4965-a16e-13d5c40a567b@app.fastmail.com>
From: Rory Hewitt <rory.hewitt@gmail.com>
Date: Mon, 11 May 2026 13:10:53 -0700
X-Gm-Features: AVHnY4LEeOAe-erUmRnEUvk3_dxdHIDhCi40f6Of4pt_cpFOUFW5ptAWDuEYKVM
Message-ID: <CAEmMwDxsxYnuVqQ_NZoW0kjBMLOp=uWyKcJu_Y_On1gL9Z7pKw@mail.gmail.com>
To: Lucas Pardue <lucas@lucaspardue.com>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="0000000000009c5e8d065190582c"
X-W3C-Hub-DKIM-Status: validation passed: (address=roryhewitt@gmail.com domain=gmail.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-5.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, DMARC_PASS=-0.001, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_WL=-1
X-W3C-Scan-Sig: pan.w3.org 1wMWy4-000IZt-1U 4a5f38b39fee7c54a39821eed81b08f0
X-Original-To: ietf-http-wg@w3.org
Subject: Re: An HTTP digest for PATCHing?
Archived-At: <https://www.w3.org/mid/CAEmMwDxsxYnuVqQ_NZoW0kjBMLOp=uWyKcJu_Y_On1gL9Z7pKw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/53849
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/email/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

--0000000000009c5e8d065190582c
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

FWIW, this seems like it could/should be generalized to other
non-idempotent P-cases (PUT/POST/PATCH) - some standard request parameter
which either a client or server can pass to indicate to the receiving
server/client that, following processing, certain things must be true.

The primary use-case would be a hash of the result of the operation, but
could there be a situation - perhaps with a frequently/quickly-updated
object - where a client needs to indicate to a server that object O must be
updated, but only if the current hash is XXXX...XXXX *and* following the
processing, the hash must be YYYY...YYYY?

Perhaps two optional headers - simplistically something like:

*{hash-header}: "{algo};{hash}"*

For example:

Content-Pre-Hash: "sha256; xxxx...xxxx"
Content-Post-Hash: "md5; yyyy...yyyy"

Or maybe this all exists already, in some form or another?

Rory


On Sun, May 10, 2026 at 8:17=E2=80=AFPM Lucas Pardue <lucas@lucaspardue.com=
> wrote:

> Hi digest enthusiasts!
>
> As part of some discussion in one of the resumable uploads issues, we
> stumbled upon a bit of and edge case that I forgot about since it was
> tangential to the primary issue. I'll attempt to summarise my understandi=
ng
> in an example scenario.
>
> Imagine there's an existing resource of X bytes, with a client wishing to
> use PATCH to append Y bytes to it. The server accepts the request, perfor=
ms
> the patch, and the resource is now X+Y bytes.
>
> The client initiating the request can indicate the digest(s) of the patch
> document: content, repr, or identity. The server can indicate the
> digests(s) related to the resource and/or transfers related to it. This
> could be prior to or after patching. (ETags also play a role, if aspects =
of
> RFC 5789 are in play [1]).
>
> However, there's no digesty way for a client to articulate what it might
> expect the outcome of the patch to be. In other words, it can't say "If y=
ou
> apply patch document with bytes Y the hash of X+Y is foo. If it's not foo=
,
> the operation failed". This seems very niche and I don't have a personal
> use case. So throwing it out to the list in case there's other opinions.
>
> Cheers,
> Lucas
>
> [1] https://httpwg.org/specs/rfc5789.html#rfc.section.2
>
>
>

--=20
Rory Hewitt

https://www.linkedin.com/in/roryhewitt

--0000000000009c5e8d065190582c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:verdana,=
sans-serif;color:#3333ff">FWIW, this seems like it could/should be generali=
zed to other non-idempotent P-cases (PUT/POST/PATCH) - some standard reques=
t parameter which either a client or server can pass to indicate to the rec=
eiving server/client that, following processing, certain things must be tru=
e.</div><div class=3D"gmail_default" style=3D"font-family:verdana,sans-seri=
f;color:#3333ff"><br></div><div class=3D"gmail_default" style=3D"font-famil=
y:verdana,sans-serif;color:#3333ff">The primary use-case would be a hash of=
 the result of the operation, but could there be a situation - perhaps with=
 a frequently/quickly-updated object - where a client needs to indicate to =
a server that object O must be updated, but only if the current hash is XXX=
X...XXXX=C2=A0<u>and</u>=C2=A0following the processing, the hash must be YY=
YY...YYYY?<br></div><div class=3D"gmail_default" style=3D"font-family:verda=
na,sans-serif;color:#3333ff"><br></div><div class=3D"gmail_default" style=
=3D"font-family:verdana,sans-serif;color:#3333ff">Perhaps two optional head=
ers - simplistically something like:</div><div class=3D"gmail_default" styl=
e=3D"font-family:verdana,sans-serif;color:#3333ff"><br></div><div class=3D"=
gmail_default" style=3D"font-family:verdana,sans-serif;color:#3333ff"><b>{h=
ash-header}: &quot;{algo};{hash}&quot;</b></div><div class=3D"gmail_default=
" style=3D"font-family:verdana,sans-serif;color:#3333ff"><br></div><div cla=
ss=3D"gmail_default" style=3D"font-family:verdana,sans-serif;color:#3333ff"=
>For example:</div><div class=3D"gmail_default" style=3D"font-family:verdan=
a,sans-serif;color:#3333ff"><br></div><div class=3D"gmail_default" style=3D=
"font-family:verdana,sans-serif;color:#3333ff">Content-Pre-Hash: &quot;sha2=
56; xxxx...xxxx&quot;</div><div class=3D"gmail_default" style=3D"font-famil=
y:verdana,sans-serif;color:#3333ff">Content-Post-Hash: &quot;md5; yyyy...yy=
yy&quot;</div><div class=3D"gmail_default" style=3D"font-family:verdana,san=
s-serif;color:#3333ff"><br></div><div class=3D"gmail_default" style=3D"font=
-family:verdana,sans-serif;color:#3333ff">Or maybe this all exists already,=
 in some form or another?</div><div class=3D"gmail_default" style=3D"font-f=
amily:verdana,sans-serif;color:#3333ff"><br></div><div class=3D"gmail_defau=
lt" style=3D"font-family:verdana,sans-serif;color:#3333ff">Rory</div><div c=
lass=3D"gmail_default" style=3D"font-family:verdana,sans-serif;color:#3333f=
f"><br></div></div><br><div class=3D"gmail_quote gmail_quote_container"><di=
v dir=3D"ltr" class=3D"gmail_attr">On Sun, May 10, 2026 at 8:17=E2=80=AFPM =
Lucas Pardue &lt;<a href=3D"mailto:lucas@lucaspardue.com">lucas@lucaspardue=
.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1=
ex"><u></u><div><div>Hi digest enthusiasts!</div><div><br></div><div>As par=
t of some discussion in one of the resumable uploads issues, we stumbled up=
on a bit of and edge case that I forgot about since it was tangential to th=
e primary issue. I&#39;ll attempt to summarise my understanding in an examp=
le scenario.</div><div><br></div><div>Imagine there&#39;s an existing resou=
rce of X bytes, with a client wishing to use PATCH to append Y bytes to it.=
 The server accepts the request, performs the patch, and the resource is no=
w X+Y bytes.</div><div><br></div><div><div>The client initiating the reques=
t can indicate the digest(s) of the patch document: content, repr, or ident=
ity. The server can indicate the digests(s) related to the resource and/or =
transfers related to it. This could be prior to or after patching. (ETags a=
lso play a role, if aspects of RFC 5789 are in play [1]). </div><div><br></=
div><div>However, there&#39;s no digesty way for a client to articulate wha=
t it might expect the outcome of the patch to be. In other words, it can&#3=
9;t say &quot;If you apply patch document with bytes Y the hash of X+Y is f=
oo. If it&#39;s not foo, the operation failed&quot;. This seems very niche =
and I don&#39;t have a personal use case. So throwing it out to the list in=
 case there&#39;s other opinions.</div><div><br></div><div>Cheers,</div><di=
v>Lucas</div><div><br></div><div>[1]=C2=A0<a href=3D"https://httpwg.org/spe=
cs/rfc5789.html#rfc.section.2" target=3D"_blank">https://httpwg.org/specs/r=
fc5789.html#rfc.section.2</a></div><br></div><div><br></div></div></blockqu=
ote></div><div><br clear=3D"all"></div><div><br></div><span class=3D"gmail_=
signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">=
<div dir=3D"ltr"><div><div dir=3D"ltr"><div><span style=3D"font-family:verd=
ana,sans-serif;color:rgb(51,51,255)">Rory Hewitt</span><br style=3D"font-fa=
mily:verdana,sans-serif;color:rgb(51,51,255)"><br style=3D"font-family:verd=
ana,sans-serif;color:rgb(51,51,255)"><span style=3D"font-family:verdana,san=
s-serif;color:rgb(51,51,255)"><a href=3D"https://www.linkedin.com/in/roryhe=
witt" target=3D"_blank">https://www.linkedin.com/in/roryhewitt</a></span><b=
r></div></div></div></div></div>

--0000000000009c5e8d065190582c--

