<turbo-stream action="replace" target="photo-modal"><template><div aria-hidden="true" aria-labelledby="photoModalLabel" class="modal modal-lg fade" id="photo-modal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
Linus
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
</div>
<div class="modal-body">
<div class="carousel slide" data-bs-ride="carousel" id="galleryControls">
<div class="carousel-inner">
<div class="carousel-item active">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTE1LCJwdXIiOiJibG9iX2lkIn19--b3cdd5778a9284848c59e63fdbe510fc0bb1a5e9/4.2.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTE2LCJwdXIiOiJibG9iX2lkIn19--13f1b2b94e868d5fbdd31ae5bb8434e6901ecb56/4.3.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTE3LCJwdXIiOiJibG9iX2lkIn19--30d6f5f4d93b6acd921dcc6fbd7e493f44e0a8ce/4.4.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTE4LCJwdXIiOiJibG9iX2lkIn19--97141122509199044eaaea6b1f2d1cc6031de926/4.5.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTE5LCJwdXIiOiJibG9iX2lkIn19--e1defd4209f847cde62bbd821c46d9341f222c25/4.6.png" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTIwLCJwdXIiOiJibG9iX2lkIn19--303a39ec9053bf37cdadd5f3183ec8998fcb0aa6/4.7.png" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTIxLCJwdXIiOiJibG9iX2lkIn19--3dcf46fd92c814a64a87c85deb0106b2d3293615/4.8.JPG" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTIyLCJwdXIiOiJibG9iX2lkIn19--ca13d671ccd35adee1e835dbad24786323d09dba/4.9.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTIzLCJwdXIiOiJibG9iX2lkIn19--d708f8f2aba0bc7434a7264e54537b19c4b43265/4.10.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTI0LCJwdXIiOiJibG9iX2lkIn19--985de29698abf8df0f89f9e17fdb06abf277dad7/4.11.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTI1LCJwdXIiOiJibG9iX2lkIn19--810612148cedc7026eab6b41d5113f5b0fed0594/4.12.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTI2LCJwdXIiOiJibG9iX2lkIn19--8b81132ecba872edc935540591fcdcd49d867896/4.13.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTI3LCJwdXIiOiJibG9iX2lkIn19--bcd1d65a4df1af5fdde3c049965bab9b69cbb828/4.14.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTI4LCJwdXIiOiJibG9iX2lkIn19--bd8ae9cbfcdd41dcb9693e2e4f5049358419668e/4.15.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTI5LCJwdXIiOiJibG9iX2lkIn19--f77914e7660c231cddcf41503a8267e5b0bfb95c/4.16.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTMwLCJwdXIiOiJibG9iX2lkIn19--13dc960f36025f0419acab1e9fbd6abf20dd6006/4.17.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTMxLCJwdXIiOiJibG9iX2lkIn19--7a84666c97d8be9bc421b07b61955da86a664298/4.18.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTMyLCJwdXIiOiJibG9iX2lkIn19--f08ae0a06950a07982c8432512ee2e82c1a3db79/4.19.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTMzLCJwdXIiOiJibG9iX2lkIn19--8bbe27148170ceee1d7d6d65945e014e98a1894a/4.20.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTM0LCJwdXIiOiJibG9iX2lkIn19--df8c219b4e777d845fdea9ecb68bbd6d9ba90e17/4.21.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTM1LCJwdXIiOiJibG9iX2lkIn19--19cbc777c9412877cbb0392a184df2b70364dc3c/4.26.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTM2LCJwdXIiOiJibG9iX2lkIn19--2222f943ee9a4da9a81970116ecb97f6b7f8a62f/4.27.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTM3LCJwdXIiOiJibG9iX2lkIn19--df2de57ee81869c90b6560ac69027661dabf8a1a/4.28.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTM4LCJwdXIiOiJibG9iX2lkIn19--53cb24528a94b080fd3ffb8b0d6ced9653bfc0b2/4.29.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTM5LCJwdXIiOiJibG9iX2lkIn19--a9799eaecba131ae1b7b9a491cbc43b4eae7d0ab/4.30.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTQwLCJwdXIiOiJibG9iX2lkIn19--316ab4f5f39078a921f7436d8064e75593dc0e5f/4.32.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTQxLCJwdXIiOiJibG9iX2lkIn19--637018cb9756f96c8ce158be154ebd8483d967c2/4.33.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTQyLCJwdXIiOiJibG9iX2lkIn19--857ebcffea83c433670d8ec0801f1515f3cc91e7/4.34.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTQzLCJwdXIiOiJibG9iX2lkIn19--7dbff610f74775fc5e05b4df0d9eec3f0a80d063/4.35.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTQ0LCJwdXIiOiJibG9iX2lkIn19--8d48abf4d3fa605aaf2e9068f5270c40978dceb3/4.39.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTQ1LCJwdXIiOiJibG9iX2lkIn19--bc27a613ff2df1f5a8421dde47aca7ea65f9117b/4.47.jpg" />
</div>
</div>
<button class="carousel-control-prev" data-bs-slide="prev" data-bs-target="#galleryControls" type="button">
<span aria-hidden="true" class="carousel-control-prev-icon"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" data-bs-slide="next" data-bs-target="#galleryControls" type="button">
<span aria-hidden="true" class="carousel-control-next-icon"></span>
<span class="visually-hidden">Next</span>
</button>
</div>

</div>
</div>
</div>
</div>
<script>
  var photoModal = new bootstrap.Modal(document.getElementById('photo-modal'));
  photoModal.show();
</script>
</template></turbo-stream>
