-
PDF
- Split View
-
Views
-
Cite
Cite
Armita R Manafzadeh, Stephen M Gatesy, Advances and Challenges in Paleobiological Reconstructions of Joint Mobility, Integrative and Comparative Biology, Volume 62, Issue 5, November 2022, Pages 1369–1376, https://doi.org/10.1093/icb/icac008
- Share Icon Share
Abstract
Paleobiological reconstructions of joint mobility are an essential component of functional analyses of extinct animals. Over the past half-decade, the methods underlying mobility studies have advanced rapidly in three main areas: increasing complexity of virtual joint manipulation, formalizing pose viability criteria, and constructing more rigorous quantitative frameworks. Here we contextualize and review the recent history of this field, and call attention to remaining challenges and potential future directions. Additionally, we make available and describe a set of user-friendly scripts for the animation software Autodesk Maya. In doing so, we aim to make many of the latest approaches for virtual mobility reconstruction more easily accessible to other researchers, encouraging their broader adoption and collaborative improvement.
Background
Paleontologists have long manipulated the fossil bones of extinct animals to infer how they might have been posed during locomotion, display, or prey capture. Whereas early studies most often sought to identify a small set of exemplar poses used in life (e.g., Matthew 1910; Osborn 1917; Watson 1917; Miner 1925), late 20th century researchers began to more thoroughly manipulate joints in an attempt to determine the full range of excursions allowed by their osteological morphology (e.g., Galton 1971; Welles 1984; Sereno 1994; Novas and Puerta 1997). Such angular range of motion (ROM) estimates quickly became standard in paleobiological functional analyses and were used to reject behavioral hypotheses requiring poses deemed impossible.
In the new millennium, reconstructions of joint mobility expanded beyond the physical specimens and protractors of the past, instead adopting the virtual 3-D models and graphics software that had begun transforming the field of paleontology more broadly (see Cunningham et al. 2014). Pioneering parametric modeling studies of sauropod dinosaur joint mobility (e.g., Stevens and Parrish 1999; Stevens 2002) paved the way for later analyses using computed-tomography- or surface-scan-derived models of true osteological morphology. Soon thereafter, alongside continued physical manipulations (e.g., Carpenter 2002; Senter 2005, 2006, 2007; Senter and Robins 2005; Carpenter and Wilson 2008), virtual reconstructions of joint mobility began to emerge for animals ranging from early tetrapods (e.g., Pierce et al. 2012; Nyakatura et al. 2015, 2019) to non-mammalian synapsids (e.g., Lai et al. 2018) to non-avian dinosaurs and other “reptiles” (e.g., Mallison 2010a; 2010b; Molnar et al. 2015; Werneburg et al. 2015; White et al. 2015, 2016; Otero 2017; Nagesan et al. 2018).
However, even as this computational revolution unfolded, the fundamental methodological and philosophical principles guiding reconstructions of joint mobility remained remarkably consistent. Only within the past half-decade have substantial advances in this regard taken hold, shaped in large part by lessons about articular function gleaned from X-ray Reconstruction of Moving Morphology (XROMM; Brainerd et al. 2010; Gatesy et al. 2010) analyses of living animals. Here, we aim to characterize and formalize these recent advances, elucidate the context of their development, and identify outstanding challenges that paleontologists must tackle in the years to come. Additionally, we provide a set of updated, user-friendly scripts for virtual mobility reconstruction in the hope that making existing methods accessible to a broader audience will facilitate future field-wide improvements.
Increasing the complexity of virtual joint manipulations
The first computational reconstructions of joint mobility adopted the same basic manipulation strategy previously used for physical specimens: after selecting an initial joint configuration, researchers rotated the joint of interest through a single degree of freedom at a time (e.g., flexion–extension, abduction–adduction, or long-axis rotation) to determine the minimum and maximum angular excursion possible in each. This approach to manipulation relied on the premise that rotational degrees of freedom do not interact—in other words, that the excursion in any one degree of freedom does not influence the simultaneous excursions possible in the others. However, once studies of joint mobility in living humans (Haering et al. 2014) and extant cadaveric birds (Kambic et al. 2017a, 2017b) demonstrated that rotational degrees of freedom do in fact interact—and strongly—the need for more complex manipulation strategies became clear.
To overcome this limitation, Manafzadeh and Padian (2018) proposed a more thorough approach to the virtual manipulation process. By creating a forward kinematic rig (i.e., digital marionette) in the animation software Maya (Autodesk, San Rafael, CA), they programmatically animated the joint of interest through systematic combinations of excursions in all three rotational degrees of freedom. Notably, the angular increment (e.g., every 1° or every 5°) selected for animation could be modulated to allow a finer or coarser analysis of joint mobility while still sampling the full set of potential joint poses and accounting for interactions among rotational degrees of freedom. This workflow was quickly implemented in studies of both extant (Regnault and Pierce, 2018; Brocklehurst et al. 2022; Merten, 2022) and extinct (Demuth et al. 2020; Herbst, 2021) animals, and its general principles were also adopted for manual use in the open-source graphics program Blender (Blender Online Community; Richards et al. 2021).
Although Manafzadeh and Padian's (2018) approach automated rotational manipulation, it neglected to automate joint translations. As a result, whereas some studies included a small set of manually imposed joint translations in their primary manipulations (e.g., Manafzadeh and Padian, 2018) or supplementary sensitivity analyses (e.g., Demuth et al. 2020; Herbst, 2021; Richards et al. 2021; Jones et al. 2021a), joint translations were in no way thoroughly sampled. In 2021, Manafzadeh and Gatesy demonstrated (using cadaveric birds and alligators) that translational degrees of freedom also strongly interact, and that even seemingly small translations on the scale of tenths of millimeters can be essential to joint function. They thus concluded that without including all three translational degrees of freedom in virtual manipulations, paleontologists run a severe risk of unintentionally excluding joint poses used by the animal in life. In response, Manafzadeh and Gatesy augmented Manafzadeh and Padian's (2018) approach to incorporate the automation of translational manipulations at each rotational pose sampled.
It is now understood that virtual manipulations must allow combinations of excursions in both rotational and translational degrees of freedom to reliably ensure the accuracy of reconstructed mobility. However, once all of these degrees of freedom are considered, the number of potential joint configurations to test—without imposing arbitrary cutoffs on which ones “seem reasonable”—grows rapidly. For example, whereas combinations of only rotational degrees of freedom at 5° resolution would result in 186,624 (i.e., [360°/5]×[180°/5]×[360°/5]) unique potential configurations, including three potential excursions in each translational degree of freedom increases that number to 5,038,848 (i.e., 186,624 × 3 × 3 × 3).
An exhaustive search of all possible configurations will thus become increasingly computationally expensive or even intractable as rotational and translational sampling resolutions increase. If joints composed of three or more bones (e.g., knee joints comprising a femur, tibia, and fibula) are manipulated more realistically, such that all of their elements move independently (contraHerbst 2021; Manafzadeh and Gatesy, 2021; Richards et al. 2021), even more potential configurations will emerge. This challenge might be overcome in the future with more sophisticated search algorithms that avoid checking all possible joint configurations, for example by actively responding to information about pose viability (see below) before proceeding with additional manipulation.
Formalizing pose viability criteria
Early virtual mobility reconstructions relied on two primary criteria to exclude potential poses: (1) bone–bone contact and (2) disarticulation. While manipulating a virtual joint interactively by hand, researchers assessed by eye whether bone mesh models were interpenetrating (bone–bone contact) or moving too far apart to appear biologically realistic (disarticulation). Because these criteria—especially the latter—are highly subjective, these initial computational studies have remained extremely challenging to reproduce. Still, their manual approach was feasible at the time for the tens or hundreds of potential joint configurations they evaluated. Once degree of freedom interactions revealed the need to survey thousands or even millions of configurations, however, an automated alternative for detecting pose viability became necessary.
Manafzadeh and Padian (2018) created an interpenetration detection method in Maya (Autodesk) to begin addressing this issue. Under this approach, a Boolean intersection operation generates a mesh that represents the interpenetrating region of mating bones. Then, a Maya Embedded Language (MEL) animation expression is used to automatically query the surface area of the Boolean mesh at each potential pose: if the surface area is zero, the bones do not interpenetrate and the pose is marked viable, but if the surface area is greater than zero, the bones do interpenetrate and the pose is marked inviable. In this way, viability for all sampled joint poses can be judged quickly, automatically, and reproducibly. This Boolean-based approach was widely adopted by later studies (e.g., Regnault and Pierce, 2018; Demuth et al. 2020; Herbst, 2021; Manafzadeh and Gatesy, 2021; Brocklehurst et al. 2022; Merten, 2022) and was also reproduced for Python rather than MEL implementation in Maya (Jones et al. 2021a).
Whereas Manafzadeh and Padian's method automated the bone–bone contact criterion, it continued to leave subjective assessments of disarticulation up to the researcher. Formalizing disarticulation criteria remains challenging because our understanding of what it means for a joint to be “articulated” is still limited. However, it becomes especially critical once translations are incorporated into virtual manipulations and a bone–bone contact criterion alone becomes less powerful. As a starting point, Jones et al. (2021a) suggested that articulation could be automatically maintained by prohibiting point-to-point distances between anatomical landmarks from exceeding a certain threshold. Richards et al. (2021) proposed a more comprehensive distance-based approach to articulation, wherein an inflated copy of one bone mesh (extruded along its vertex normals) must interpenetrate with the other bone, which Merten (2022) later automated through an expansion of Manafzadeh and Padian's Boolean scripts.
These distance-based approaches—like those implemented by human biomechanists (e.g., Lee et al. 2020)—represent substantial progress toward reproducibly re-incorporating the articulation criteria of the past into modern mobility reconstructions. However, before applying such constraints more broadly, we must test in extant animals whether distance alone can effectively distinguish “articulation” from “disarticulation” across different joints and taxa. By conducting XROMM analyses of both intact cadavers (see Manafzadeh, 2020) and living animals (e.g., Kambic et al. 2014; Tsai et al. 2020), we can collect valuable data about how articular surfaces interact within joints and determine what parameters best characterize their dynamic relationships. These observations can then inspire formal, automated criteria to be layered on top of the bone–bone contact scripts already in use.
In parallel with the advancement of virtual mobility reconstructions, numerous studies have begun investigating the effects of articular soft tissues on joint mobility in living animals (e.g., Hutson and Hutson, 2012, 2013, 2014, 2015; Cobley et al.2013; Arnold et al. 2014; Molnar et al. 2014, 2015). Unfortunately, methods for harnessing these data to their fullest potential and using them to create soft tissue viability criteria for mobility reconstructions thus far remain underdeveloped. Future work to elaborate on Jones et al.'s (2021b) idea of using soft tissue strain as a constraint, for example by exploiting Manafzadeh and Padian's (2018) ligament modeling method, will contribute valuable data to future reconstructions. Similarly, pursuing experimental modifications of morphology to test hypotheses about the contributions of various structures (e.g., Jurestovsky et al. 2020; Brocklehurst et al. 2022), and exploring additional approaches such as the finite element analysis applied by Wintrich et al. (2019) will yield additional insights.
Building more rigorous quantitative frameworks
Just as early methods for virtual manipulation neglected to consider interactions among degrees of freedom, so too did those for quantifying joint mobility from viable poses. The wide adoption of 3-D joint coordinate systems by comparative biomechanists (see Grood and Suntay, 1983; Brainerd et al. 2010) meant that paleontologists conducting early virtual mobility analyses certainly had the potential to fully characterize joint configurations by measuring Euler angle triples (e.g., [flexion–extension, abduction–adduction, and long-axis rotation]) and translations. Nonetheless, they (like contemporaneous biomechanists) continued to measure ROM on a per-rotational-degree-of-freedom basis, most often presenting their data using tables or bar graphs. For example, they displayed the minimum and maximum angular excursions possible in flexion–extension alone.
Aiming to better capture degree of freedom interactions in mobility studies, human biomechanists suggested that each individual joint pose could instead be converted into a 3-D point whose coordinates represent simultaneous angular excursions in each rotational degree of freedom (Haering et al. 2014). Once all viable joint poses are plotted in this “Euler space,” virtually shrink-wrapping the point cloud with a polygonal envelope and taking its volume enables a calculation of rotational mobility that accounts for degree of freedom interactions. Kambic et al. (2017a), unaware of this study, converged on the idea and applied it to avian hindlimb joints. Euler space was thereafter adopted by Manafzadeh and Padian (2018) for use in conjunction with their automated manipulation and pose viability methods (see above), causing it to spread more widely in the paleontological community (e.g., Demuth et al. 2020; Richards et al. 2021).
Although Euler space represents a substantial improvement over treating each degree of freedom separately, it suffers from quantitative limitations (resulting from the inherent nonlinearity of Euler angles) that distort volumetric mobility measurements. Manafzadeh and Gatesy (2020) noted this distortion and sought to develop an alternative quantitative framework that would allow fair rotational mobility comparisons among joints, individuals, and species. In order to maintain maximal accessibility to paleontologists and biomechanists already familiar with Euler angles, they developed a space termed “cosine-corrected Euler space.” A simple trigonometric operation transforms each Euler triple measured from a joint coordinate system into a point in cosine-corrected Euler space. Volume calculations in this space can be compared fairly, offering a simple solution adopted by the next wave of virtual mobility reconstructions (Manafzadeh and Gatesy, 2021; Manafzadeh et al. 2021; Brocklehurst et al. 2022; Merten, 2022). Herbst (2021) likewise acknowledged the limitations of Euler space and resolved them visually using a different approach that graphically displays the rotation matrix of a joint; however, it thus far remains unclear how to quantify mobility using this technique.
Moving forward, effectively communicating high-dimensional mobility data will present an ever-growing challenge. Recent advances in displaying complex 3-D information such as interactive visualization websites (e.g., Nyakatura et al. 2019; Brocklehurst et al. 2022) or augmented and virtual reality technology (see Cieri et al. 2021; e.g., Novotny et al. 2019) represent promising progress beyond 2-D figures and videos. That said, this visualization issue will only become more severe as we move beyond the three rotational dimensions currently considered in mobility metrics and begin to incorporate information about the translational degrees of freedom also known to be essential to articular function. Tackling this six-variable problem in a way that is simultaneously quantitatively rigorous, visually informative, and biologically meaningful will require the collaboration of mathematicians, biomechanists, artists, and computer scientists (following Keefe et al. 2008).
As we begin to confront full six degree of freedom complexity in earnest, we will also need to think more seriously about how best to position and orient our joint coordinate systems to extract useful quantitative information. Coordinate system definitions establish the morphological context, and, in turn, the common language, for mobility comparison. Ongoing efforts to standardize coordinate system creation within clades (Gatesy et al. 2022), rethink measurement approaches for different joint types (Manafzadeh and Gatesy, 2021), and adapt or expand definitions of kinematic homology (Gatesy and Pollard, 2011; Carney, 2016) are valuable first steps towards this goal.
The future of paleobiological reconstructions of joint mobility
Although reconstructions of joint mobility have come a long way in only a few short years, we still have plenty of room for improvement. Many of the advances described above have been the direct consequence of XROMM analyses of articular function in living animals. We suggest that continued studies along these lines will reap benefits not only in ultimately improving the accuracy of reconstructed ROM, but also in reshaping how reconstructed mobility data are used in paleobiological analyses. For example, we were extremely surprised to find a consistent pattern relating full cadaveric joint mobility to locomotor poses used in archosaur hindlimb joints (Manafzadeh et al. 2021), but now realize that accurate ROM data have the potential to be used for far more than excluding impossible poses from functional reconstructions. If we, as a field, are willing to take a temporary step back from our paleobiological goals and invest time and effort in studies of living animals—which do admittedly take appreciable time and effort—unseen flaws of our current approaches will continue to reveal themselves, and further serendipitous discoveries will surely arise. When integrated with other lines of evidence (following Nyakatura et al. 2019; Bishop et al. 2021; Molnar et al. 2021; Jones et al. 2021b), hard-earned, increasingly rigorous mobility reconstructions will only strengthen the functional inferences we draw about extinct animals.
At the same time, we appreciate that the narrative presented in this paper, portraying field-wide consensus and linear progress, is an oversimplification. We suspect that the meandering road toward adoption of new advances has had several causes, some technical (e.g., difficulty of integrating more complex mobility reconstructions with analyses such as muscle moment arm measurement) and others reflecting human nature (e.g., hesitancy to leave simpler methods of the past behind). Chief among the hurdles to widespread acceptance, however, may be the inaccessibility of existing methods. Although we have made efforts to make our various scripts public over the years—as we have improved upon our own past shortcomings—there is still certainly a learning curve for implementing them in Maya (Autodesk). To help surmount this barrier, below we offer all of our existing mobility reconstruction scripts with more friendly user interfaces. We hope that this resource will enable and encourage researchers to engage with recent advances and to collaboratively develop this field of study in the years to come.
Descriptions of included scripts
The following MEL scripts have been modified for increased ease of use from previous publications and are available in their most-updated form at https://bitbucket.org/xromm/xromm_other_mel_scripts/src/main/ in the XROMM_other_MEL_scripts repository. All scripts are meant to be run from the MEL command line within Maya (Autodesk), and have been tested for compatibility with Maya version 2022 on both Mac and PC platforms. As of 2022, free, unlimited educational licenses for Maya are available to any student or educator on an annual basis.
srjUI.mel: An abbreviation for “scientific rotoscoping joint user interface,” this script calls up an interface that allows the user to input a joint name (e.g., “hip”). It then creates a two-joint hierarchical forward kinematic rig (e.g., parent “hip_pos” and child “hip”) in which the parent joint can be used for positioning and orienting and the child joint can be used for animating rotations. This script makes more accessible the srj script available as part of the public XROMM_mayaTools.
rotateSRJ.mel: An abbreviation for “rotate scientific rotoscoping joint,” this script calls up an interface that allows the user to input the name of a forward kinematic joint to apply rotations to (such as a child joint created using srjUI or srj), the range of excursions in each rotational degree of freedom to apply, and the increment with which to sample them. It then systematically rotates the joint through every possible combination of these rotations, one pose per frame. This script makes more accessible supplementary code initially provided by Manafzadeh and Padian (2018).
booMaker.mel: An abbreviation for “Boolean maker,” this script calls up an interface that allows the user to input the names of two bone mesh models in the scene (e.g., “pelvisBone” and “femurBone”), as well as the desired name of the resulting Boolean mesh (e.g., “boo”). It then creates copies of the original bone meshes so that they are not lost, as well as a new Boolean mesh with the desired name that represents the intersection of the two selected mesh models. This script requires a forward kinematic rig hierarchy in which the bone mesh models are children of empty nodes (e.g., parent empty node “pelvis” with child mesh model node “pelvisBone”), or will return an error. In order to ensure predictable behavior, make sure (1) to bake the animation resulting from rotateSRJ on both bone meshes before running, and (2) that both mesh models are as clean as possible (i.e., fully manifold with uniform face normals and no internal geometry). This script makes more accessible supplementary code initially provided by Manafzadeh and Padian (2018).
booChecker.mel: An abbreviation for “Boolean checker,” this script calls up an interface that asks for the name of a Boolean mesh (e.g., “boo”) and the name of the corresponding animated joint (e.g., “hip”). It then creates a new Boolean-type attribute called “viable” on the selected joint, and creates an animation expression to query the surface area of the Boolean mesh. When the user plays through time, the surface area will be queried at each animated frame and “viable” will be keyframed accordingly—0 for inviable (if the Boolean mesh has surface area, indicating bone interpenetration) or 1 for viable (if the Boolean mesh has zero surface area). This script makes more accessible supplementary code initially provided by Manafzadeh and Padian (2018).
booCheckerTransBS.mel: An abbreviation for “Boolean checker translations ball and socket,” this script builds on booChecker to incorporate translational manipulations for ball and socket joints. The script calls up an interface that, in addition to the name of a Boolean mesh (e.g., “boo”) and the name of the corresponding animated joint (e.g., “hip”), also asks for the minimum and maximum translations desired in the X, Y, and Z directions (as set by the joint coordinate system), as well as the number of samples desired in each direction. Then, like booChecker, it creates a new Boolean type attribute called “viable” on the selected joint and creates an animation expression to query the surface area of the Boolean mesh. However, within this expression, it also creates a loop to manipulate the joint and test the various combinations of translations possible based on the user input ranges and sample sizes. When the user plays through time, the surface area will be queried at each translation configuration for a given frame. The translation loop will proceed until the first viable configuration is reached, “viable” will be keyframed 1 for viable, and the animation will proceed to the next frame without testing the remaining translation combinations to save time. If none of the translation combinations succeed, “viable” will be keyframed 0 for inviable. This script makes more accessible supplementary code initially provided by Manafzadeh and Gatesy (2021).
booCheckerTransHinge.mel: An abbreviation for “Boolean checker translations hinge,” this script builds on booChecker to incorporate translational manipulations for hinge joints using the new hinge joint rigging system developed by Manafzadeh and Gatesy (2021; see paper for rigging details). The script calls up an interface that, in addition to the name of a Boolean mesh (e.g., “boo”) and the name of the corresponding animated joint (e.g., “knee”), also asks for the name of the rigging cube object (see Manafzadeh and Gatesy, 2021), the minimum and maximum translations desired in the X, Y, and Z directions (as set by the joint coordinate system), and the number of samples desired in each direction. Then, like booChecker and booCheckerTransBS, it creates a new Boolean-type attribute called “viable” on the selected joint and creates an animation expression to query the surface area of the Boolean mesh. Within this expression, it also creates a loop to manipulate the joint and test the various combinations of translations possible based on the user input ranges and sample sizes. When the user plays through time, the surface area will be queried at each translation configuration for a given frame. The translation loop will proceed until the first viable configuration is reached, “viable” will be keyframed 1 for viable, and the animation will proceed to the next frame without testing the remaining translation combinations to save time. If none of the translation combinations succeed, “viable” will be keyframed 0 for inviable. This script makes more accessible supplementary code initially provided by Manafzadeh and Gatesy (2021).
vertBooChecker.mel: An abbreviation for “vertebral Boolean checker,” this script represents a potential modification of booChecker for inclusion of formalized disarticulation criteria. The script calls up an interface that, in addition to the name of a primary Boolean mesh (e.g., “boo”) and the name of the corresponding animated joint (e.g., “C1C2”), also asks for the names of three additional articulation Boolean meshes created using booMaker from inflated copies of the bone mesh regions that are desired to maintain articulation, following Richards et al. (2021), for example vertebral centra and zygapophyses. It then creates a new Boolean-type attribute called “viable” on the selected joint and creates an animation expression to query the surface area of all four Boolean meshes. When the user plays through time, the surface area will be queried at each animated frame and “viable” will be keyframed accordingly—0 for inviable (if the primary Boolean has surface area and/or any of the articulation Booleans has zero surface area) or 1 for viable (if the primary Boolean has no surface area and all of the articulation Booleans have surface area). This script makes public code initially written by Manafzadeh for use by Merten (2022), but could be modified to incorporate the translational loop from booCheckerTransBS. Likewise, modifications of booChecker, booCheckerTransBS, or booCheckerTransHinge following this example could be used to incorporate the simpler locator-to-locator distance-based thresholds implemented by Jones et al. (2021b).
Acknowledgements
We thank organizers Haley Amplo, Sandy Kawano, and Alice Gibb for the invitation to participate in this SICB symposium, our colleagues involved in paleobiological reconstructions of joint mobility for their contributions to advancing this field of study, Peter Bishop, and an anonymous reviewer for their constructive feedback on this manuscript, and all those who have assisted with or provided feedback on our previous joint mobility work: Dave Baier, Anjan Bhullar, Peter Bishop, Beth Brainerd, Peter Falkingham, Eva Herbst, John Hermanson, John “Spike” Hughes, John Hutchinson, Joel Hutson, Robert Kambic, James Kuffner, David Laidlaw, JJ Lomax, Danny Miranda, Shoeleh Mutameni, Sterling Nesbitt, John Nyakatura, Tomasz Owerkowicz, Mike Rainbow, Tom Roberts, Karen Roorda, Jonas Rubenson, Michelle Stocker, Henry Tsai, Morgan Turner, Madhu Venkadesan, and Ray Wilhite.
Funding
This work was supported by the Bushnell Research and Education Fund, the US National Science Foundation [IOS-0925077, DBI-0552051, IOS-0840950, DBI-1262156, EAR-1452119, and GRFP], the Sigma Xi Grant-in-Aid of Research, the Society of Vertebrate Paleontology Cohen Award for Student Research, the Association for Women Geoscientists/Paleontological Society Winifred Goldring Award, the Brown University Presidential Fellowship, the Society for Integrative and Comparative Biology, Micro Photonics Inc., and the Company of Biologists Scientific Meeting Grant.
Data availability
No new data were generated or analyzed in support of this research.
Notes
From the symposium “Evolutionary conservation and diversity in a key vertebrate behavior: “walking” as a model system” presented at the annual meeting of the Society for Integrative and Comparative Biology, January 3–7, 2022.