Explicit sections after sheafification












1












$begingroup$


Hartshorne (in his book on algebraic geometry) constructs, for a presheaf $mathscr{F}$ over a topological space $X$, the sheafification of $mathscr{F}$, $mathscr{F}^+$, as
$$ mathscr{F}^+(U) = { s!: Uto bigsqcup_{pin U}mathscr{F}_p text{ such that }(*) } $$
with $(*)$ being the following conditions:




  1. for each $pin U$, $s(p)inmathscr{F}_p$.

  2. for each $pin U$, there is a neighbourhood $Vsubset U$ of $p$, and some $tinmathscr{F}(V)$, such that for any $qin V$, the germ $t_q = s(q)$.


My question essentially boils down to the following (and I'll expand on this):




What, explicitly, are the elements of $mathscr{F}^+(U)$?




What I mean is that, while the description above is in some ways explicit, it leaves too many details out (at least for me), and so I want some "classification" of the various kinds of sections we can get.



For example, it is clear that any element $sinmathscr{F}^+(U)$ is of the form $s!: pmapsto t_p$, with $t$ not necessarily being fixed. The case where it is fixed, of course, is the image of the natural morphism $theta!:mathscr{F}tomathscr{F}^+$, since this is given by $theta(s)mapsto (pmapsto s_p)$. This gives some of the elements of $mathscr{F}^+(U)$, but not all of them.



As far as I've been able to tell, any section $ainmathscr{F}^+(U)$ will be determined by considering an open cover ${U_i}_{iin I}$ of $U$, with classes of sections $[t^i]subsetmathscr{F}(U_i)$, such that all $sin[t^i]$ agree on germs (i.e. for any $s,vin[t^i]$ and $pin U_i$ we have $s_p = v_p$) and, similarly, for any $sin[t^i]$, $vin[t^j]$, and $pin U_icap U_j$ we have $s_p = v_p$ (that is, the germs agree on intersections).



So, a secondary question is:




Is the above characterization of the sections of $mathscr{F}^+$ correct?











share|cite|improve this question









$endgroup$












  • $begingroup$
    Well, you would need to mod out by the equivalence relation that equates the "gluing" of $s_i in mathscr{F}(U_i)$ and of $t_j in mathscr{F}(V_j)$ if and only if for each $i,j$, there is an open cover $W_k$ of $U_i cap V_j$ such that $s_i |_{W_k} = t_j |_{W_k}$ for all $k$. Otherwise, that does form an alternate description of the sheafification.
    $endgroup$
    – Daniel Schepler
    Dec 4 '18 at 23:01












  • $begingroup$
    Yeah, I can see why that would be required to make $mathscr{F}^+(U)$ and $mathscr{F}^+(V)$ actually "comparable" when $Ucap Vnot=emptyset$. Thanks!
    $endgroup$
    – Carl-Fredrik Lidgren
    Dec 4 '18 at 23:07


















1












$begingroup$


Hartshorne (in his book on algebraic geometry) constructs, for a presheaf $mathscr{F}$ over a topological space $X$, the sheafification of $mathscr{F}$, $mathscr{F}^+$, as
$$ mathscr{F}^+(U) = { s!: Uto bigsqcup_{pin U}mathscr{F}_p text{ such that }(*) } $$
with $(*)$ being the following conditions:




  1. for each $pin U$, $s(p)inmathscr{F}_p$.

  2. for each $pin U$, there is a neighbourhood $Vsubset U$ of $p$, and some $tinmathscr{F}(V)$, such that for any $qin V$, the germ $t_q = s(q)$.


My question essentially boils down to the following (and I'll expand on this):




What, explicitly, are the elements of $mathscr{F}^+(U)$?




What I mean is that, while the description above is in some ways explicit, it leaves too many details out (at least for me), and so I want some "classification" of the various kinds of sections we can get.



For example, it is clear that any element $sinmathscr{F}^+(U)$ is of the form $s!: pmapsto t_p$, with $t$ not necessarily being fixed. The case where it is fixed, of course, is the image of the natural morphism $theta!:mathscr{F}tomathscr{F}^+$, since this is given by $theta(s)mapsto (pmapsto s_p)$. This gives some of the elements of $mathscr{F}^+(U)$, but not all of them.



As far as I've been able to tell, any section $ainmathscr{F}^+(U)$ will be determined by considering an open cover ${U_i}_{iin I}$ of $U$, with classes of sections $[t^i]subsetmathscr{F}(U_i)$, such that all $sin[t^i]$ agree on germs (i.e. for any $s,vin[t^i]$ and $pin U_i$ we have $s_p = v_p$) and, similarly, for any $sin[t^i]$, $vin[t^j]$, and $pin U_icap U_j$ we have $s_p = v_p$ (that is, the germs agree on intersections).



So, a secondary question is:




Is the above characterization of the sections of $mathscr{F}^+$ correct?











share|cite|improve this question









$endgroup$












  • $begingroup$
    Well, you would need to mod out by the equivalence relation that equates the "gluing" of $s_i in mathscr{F}(U_i)$ and of $t_j in mathscr{F}(V_j)$ if and only if for each $i,j$, there is an open cover $W_k$ of $U_i cap V_j$ such that $s_i |_{W_k} = t_j |_{W_k}$ for all $k$. Otherwise, that does form an alternate description of the sheafification.
    $endgroup$
    – Daniel Schepler
    Dec 4 '18 at 23:01












  • $begingroup$
    Yeah, I can see why that would be required to make $mathscr{F}^+(U)$ and $mathscr{F}^+(V)$ actually "comparable" when $Ucap Vnot=emptyset$. Thanks!
    $endgroup$
    – Carl-Fredrik Lidgren
    Dec 4 '18 at 23:07
















1












1








1





$begingroup$


Hartshorne (in his book on algebraic geometry) constructs, for a presheaf $mathscr{F}$ over a topological space $X$, the sheafification of $mathscr{F}$, $mathscr{F}^+$, as
$$ mathscr{F}^+(U) = { s!: Uto bigsqcup_{pin U}mathscr{F}_p text{ such that }(*) } $$
with $(*)$ being the following conditions:




  1. for each $pin U$, $s(p)inmathscr{F}_p$.

  2. for each $pin U$, there is a neighbourhood $Vsubset U$ of $p$, and some $tinmathscr{F}(V)$, such that for any $qin V$, the germ $t_q = s(q)$.


My question essentially boils down to the following (and I'll expand on this):




What, explicitly, are the elements of $mathscr{F}^+(U)$?




What I mean is that, while the description above is in some ways explicit, it leaves too many details out (at least for me), and so I want some "classification" of the various kinds of sections we can get.



For example, it is clear that any element $sinmathscr{F}^+(U)$ is of the form $s!: pmapsto t_p$, with $t$ not necessarily being fixed. The case where it is fixed, of course, is the image of the natural morphism $theta!:mathscr{F}tomathscr{F}^+$, since this is given by $theta(s)mapsto (pmapsto s_p)$. This gives some of the elements of $mathscr{F}^+(U)$, but not all of them.



As far as I've been able to tell, any section $ainmathscr{F}^+(U)$ will be determined by considering an open cover ${U_i}_{iin I}$ of $U$, with classes of sections $[t^i]subsetmathscr{F}(U_i)$, such that all $sin[t^i]$ agree on germs (i.e. for any $s,vin[t^i]$ and $pin U_i$ we have $s_p = v_p$) and, similarly, for any $sin[t^i]$, $vin[t^j]$, and $pin U_icap U_j$ we have $s_p = v_p$ (that is, the germs agree on intersections).



So, a secondary question is:




Is the above characterization of the sections of $mathscr{F}^+$ correct?











share|cite|improve this question









$endgroup$




Hartshorne (in his book on algebraic geometry) constructs, for a presheaf $mathscr{F}$ over a topological space $X$, the sheafification of $mathscr{F}$, $mathscr{F}^+$, as
$$ mathscr{F}^+(U) = { s!: Uto bigsqcup_{pin U}mathscr{F}_p text{ such that }(*) } $$
with $(*)$ being the following conditions:




  1. for each $pin U$, $s(p)inmathscr{F}_p$.

  2. for each $pin U$, there is a neighbourhood $Vsubset U$ of $p$, and some $tinmathscr{F}(V)$, such that for any $qin V$, the germ $t_q = s(q)$.


My question essentially boils down to the following (and I'll expand on this):




What, explicitly, are the elements of $mathscr{F}^+(U)$?




What I mean is that, while the description above is in some ways explicit, it leaves too many details out (at least for me), and so I want some "classification" of the various kinds of sections we can get.



For example, it is clear that any element $sinmathscr{F}^+(U)$ is of the form $s!: pmapsto t_p$, with $t$ not necessarily being fixed. The case where it is fixed, of course, is the image of the natural morphism $theta!:mathscr{F}tomathscr{F}^+$, since this is given by $theta(s)mapsto (pmapsto s_p)$. This gives some of the elements of $mathscr{F}^+(U)$, but not all of them.



As far as I've been able to tell, any section $ainmathscr{F}^+(U)$ will be determined by considering an open cover ${U_i}_{iin I}$ of $U$, with classes of sections $[t^i]subsetmathscr{F}(U_i)$, such that all $sin[t^i]$ agree on germs (i.e. for any $s,vin[t^i]$ and $pin U_i$ we have $s_p = v_p$) and, similarly, for any $sin[t^i]$, $vin[t^j]$, and $pin U_icap U_j$ we have $s_p = v_p$ (that is, the germs agree on intersections).



So, a secondary question is:




Is the above characterization of the sections of $mathscr{F}^+$ correct?








sheaf-theory






share|cite|improve this question













share|cite|improve this question











share|cite|improve this question




share|cite|improve this question










asked Dec 4 '18 at 22:51









Carl-Fredrik LidgrenCarl-Fredrik Lidgren

106




106












  • $begingroup$
    Well, you would need to mod out by the equivalence relation that equates the "gluing" of $s_i in mathscr{F}(U_i)$ and of $t_j in mathscr{F}(V_j)$ if and only if for each $i,j$, there is an open cover $W_k$ of $U_i cap V_j$ such that $s_i |_{W_k} = t_j |_{W_k}$ for all $k$. Otherwise, that does form an alternate description of the sheafification.
    $endgroup$
    – Daniel Schepler
    Dec 4 '18 at 23:01












  • $begingroup$
    Yeah, I can see why that would be required to make $mathscr{F}^+(U)$ and $mathscr{F}^+(V)$ actually "comparable" when $Ucap Vnot=emptyset$. Thanks!
    $endgroup$
    – Carl-Fredrik Lidgren
    Dec 4 '18 at 23:07




















  • $begingroup$
    Well, you would need to mod out by the equivalence relation that equates the "gluing" of $s_i in mathscr{F}(U_i)$ and of $t_j in mathscr{F}(V_j)$ if and only if for each $i,j$, there is an open cover $W_k$ of $U_i cap V_j$ such that $s_i |_{W_k} = t_j |_{W_k}$ for all $k$. Otherwise, that does form an alternate description of the sheafification.
    $endgroup$
    – Daniel Schepler
    Dec 4 '18 at 23:01












  • $begingroup$
    Yeah, I can see why that would be required to make $mathscr{F}^+(U)$ and $mathscr{F}^+(V)$ actually "comparable" when $Ucap Vnot=emptyset$. Thanks!
    $endgroup$
    – Carl-Fredrik Lidgren
    Dec 4 '18 at 23:07


















$begingroup$
Well, you would need to mod out by the equivalence relation that equates the "gluing" of $s_i in mathscr{F}(U_i)$ and of $t_j in mathscr{F}(V_j)$ if and only if for each $i,j$, there is an open cover $W_k$ of $U_i cap V_j$ such that $s_i |_{W_k} = t_j |_{W_k}$ for all $k$. Otherwise, that does form an alternate description of the sheafification.
$endgroup$
– Daniel Schepler
Dec 4 '18 at 23:01






$begingroup$
Well, you would need to mod out by the equivalence relation that equates the "gluing" of $s_i in mathscr{F}(U_i)$ and of $t_j in mathscr{F}(V_j)$ if and only if for each $i,j$, there is an open cover $W_k$ of $U_i cap V_j$ such that $s_i |_{W_k} = t_j |_{W_k}$ for all $k$. Otherwise, that does form an alternate description of the sheafification.
$endgroup$
– Daniel Schepler
Dec 4 '18 at 23:01














$begingroup$
Yeah, I can see why that would be required to make $mathscr{F}^+(U)$ and $mathscr{F}^+(V)$ actually "comparable" when $Ucap Vnot=emptyset$. Thanks!
$endgroup$
– Carl-Fredrik Lidgren
Dec 4 '18 at 23:07






$begingroup$
Yeah, I can see why that would be required to make $mathscr{F}^+(U)$ and $mathscr{F}^+(V)$ actually "comparable" when $Ucap Vnot=emptyset$. Thanks!
$endgroup$
– Carl-Fredrik Lidgren
Dec 4 '18 at 23:07












1 Answer
1






active

oldest

votes


















2












$begingroup$

So, basically the sections of the associated sheaf are functions which are locally sections of the presheaf. Maybe a clear way to see this is the following example: take a smooth manifold $M$ and define a presheaf $mathscr{F}$ by $mathscr{F}(U)={f:Uto mathbb{R}:f:text{is constant}}$. If $M$ is not connected, then write $M_1sqcup M_2$ for instance, both clopen. We can write a function $f_1:M_1to mathbb{R}$ by $f_1(x)=1$ and $f_2:M_2to mathbb{R}$ by $f_2(x)=2$. Because $M_1cap M_2=varnothing$, if $mathscr{F}$ were a sheaf, then the piecewise function $f:Mto mathbb{R}$ given by
$$f(x)= begin{cases}
f_1(x)&xin M_1\
f_2(x)& xin M_2.
end{cases}$$

would have to be in the sheaf. However, it is not because $f$ is not constant globally, only locally. Once we pass to the sheafification, $mathscr{F}^+$, our sections on $Usubseteq M$ are
$$ mathscr{F}^+(U)={f:Uto mathbb{R}:(1):&:(2)}.$$
$(1)$ is the property that $f(P)in mathscr{F}_P$. $mathscr{F}_P=mathbb{R}$ so this is fine.



$(2)$ is the property that around each $Pin U$, there exists a neighborhood $Vsubseteq U$ with $f|_V(P)=s_P$ for $sin mathscr{F}(U)$. That is, $f$ is locally a member of $mathscr{F}$. That is, $f$ is locally constant.



So, the sections of $mathscr{F}^+(U)$ are locally constant functions valued in $mathbb{R}$. Morally, a sheaf is supposed to be an object that locally assigns functions on the space, and the sheafification formalism says that indeed this is the case.






share|cite|improve this answer









$endgroup$













    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "69"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    noCode: true, onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3026292%2fexplicit-sections-after-sheafification%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2












    $begingroup$

    So, basically the sections of the associated sheaf are functions which are locally sections of the presheaf. Maybe a clear way to see this is the following example: take a smooth manifold $M$ and define a presheaf $mathscr{F}$ by $mathscr{F}(U)={f:Uto mathbb{R}:f:text{is constant}}$. If $M$ is not connected, then write $M_1sqcup M_2$ for instance, both clopen. We can write a function $f_1:M_1to mathbb{R}$ by $f_1(x)=1$ and $f_2:M_2to mathbb{R}$ by $f_2(x)=2$. Because $M_1cap M_2=varnothing$, if $mathscr{F}$ were a sheaf, then the piecewise function $f:Mto mathbb{R}$ given by
    $$f(x)= begin{cases}
    f_1(x)&xin M_1\
    f_2(x)& xin M_2.
    end{cases}$$

    would have to be in the sheaf. However, it is not because $f$ is not constant globally, only locally. Once we pass to the sheafification, $mathscr{F}^+$, our sections on $Usubseteq M$ are
    $$ mathscr{F}^+(U)={f:Uto mathbb{R}:(1):&:(2)}.$$
    $(1)$ is the property that $f(P)in mathscr{F}_P$. $mathscr{F}_P=mathbb{R}$ so this is fine.



    $(2)$ is the property that around each $Pin U$, there exists a neighborhood $Vsubseteq U$ with $f|_V(P)=s_P$ for $sin mathscr{F}(U)$. That is, $f$ is locally a member of $mathscr{F}$. That is, $f$ is locally constant.



    So, the sections of $mathscr{F}^+(U)$ are locally constant functions valued in $mathbb{R}$. Morally, a sheaf is supposed to be an object that locally assigns functions on the space, and the sheafification formalism says that indeed this is the case.






    share|cite|improve this answer









    $endgroup$


















      2












      $begingroup$

      So, basically the sections of the associated sheaf are functions which are locally sections of the presheaf. Maybe a clear way to see this is the following example: take a smooth manifold $M$ and define a presheaf $mathscr{F}$ by $mathscr{F}(U)={f:Uto mathbb{R}:f:text{is constant}}$. If $M$ is not connected, then write $M_1sqcup M_2$ for instance, both clopen. We can write a function $f_1:M_1to mathbb{R}$ by $f_1(x)=1$ and $f_2:M_2to mathbb{R}$ by $f_2(x)=2$. Because $M_1cap M_2=varnothing$, if $mathscr{F}$ were a sheaf, then the piecewise function $f:Mto mathbb{R}$ given by
      $$f(x)= begin{cases}
      f_1(x)&xin M_1\
      f_2(x)& xin M_2.
      end{cases}$$

      would have to be in the sheaf. However, it is not because $f$ is not constant globally, only locally. Once we pass to the sheafification, $mathscr{F}^+$, our sections on $Usubseteq M$ are
      $$ mathscr{F}^+(U)={f:Uto mathbb{R}:(1):&:(2)}.$$
      $(1)$ is the property that $f(P)in mathscr{F}_P$. $mathscr{F}_P=mathbb{R}$ so this is fine.



      $(2)$ is the property that around each $Pin U$, there exists a neighborhood $Vsubseteq U$ with $f|_V(P)=s_P$ for $sin mathscr{F}(U)$. That is, $f$ is locally a member of $mathscr{F}$. That is, $f$ is locally constant.



      So, the sections of $mathscr{F}^+(U)$ are locally constant functions valued in $mathbb{R}$. Morally, a sheaf is supposed to be an object that locally assigns functions on the space, and the sheafification formalism says that indeed this is the case.






      share|cite|improve this answer









      $endgroup$
















        2












        2








        2





        $begingroup$

        So, basically the sections of the associated sheaf are functions which are locally sections of the presheaf. Maybe a clear way to see this is the following example: take a smooth manifold $M$ and define a presheaf $mathscr{F}$ by $mathscr{F}(U)={f:Uto mathbb{R}:f:text{is constant}}$. If $M$ is not connected, then write $M_1sqcup M_2$ for instance, both clopen. We can write a function $f_1:M_1to mathbb{R}$ by $f_1(x)=1$ and $f_2:M_2to mathbb{R}$ by $f_2(x)=2$. Because $M_1cap M_2=varnothing$, if $mathscr{F}$ were a sheaf, then the piecewise function $f:Mto mathbb{R}$ given by
        $$f(x)= begin{cases}
        f_1(x)&xin M_1\
        f_2(x)& xin M_2.
        end{cases}$$

        would have to be in the sheaf. However, it is not because $f$ is not constant globally, only locally. Once we pass to the sheafification, $mathscr{F}^+$, our sections on $Usubseteq M$ are
        $$ mathscr{F}^+(U)={f:Uto mathbb{R}:(1):&:(2)}.$$
        $(1)$ is the property that $f(P)in mathscr{F}_P$. $mathscr{F}_P=mathbb{R}$ so this is fine.



        $(2)$ is the property that around each $Pin U$, there exists a neighborhood $Vsubseteq U$ with $f|_V(P)=s_P$ for $sin mathscr{F}(U)$. That is, $f$ is locally a member of $mathscr{F}$. That is, $f$ is locally constant.



        So, the sections of $mathscr{F}^+(U)$ are locally constant functions valued in $mathbb{R}$. Morally, a sheaf is supposed to be an object that locally assigns functions on the space, and the sheafification formalism says that indeed this is the case.






        share|cite|improve this answer









        $endgroup$



        So, basically the sections of the associated sheaf are functions which are locally sections of the presheaf. Maybe a clear way to see this is the following example: take a smooth manifold $M$ and define a presheaf $mathscr{F}$ by $mathscr{F}(U)={f:Uto mathbb{R}:f:text{is constant}}$. If $M$ is not connected, then write $M_1sqcup M_2$ for instance, both clopen. We can write a function $f_1:M_1to mathbb{R}$ by $f_1(x)=1$ and $f_2:M_2to mathbb{R}$ by $f_2(x)=2$. Because $M_1cap M_2=varnothing$, if $mathscr{F}$ were a sheaf, then the piecewise function $f:Mto mathbb{R}$ given by
        $$f(x)= begin{cases}
        f_1(x)&xin M_1\
        f_2(x)& xin M_2.
        end{cases}$$

        would have to be in the sheaf. However, it is not because $f$ is not constant globally, only locally. Once we pass to the sheafification, $mathscr{F}^+$, our sections on $Usubseteq M$ are
        $$ mathscr{F}^+(U)={f:Uto mathbb{R}:(1):&:(2)}.$$
        $(1)$ is the property that $f(P)in mathscr{F}_P$. $mathscr{F}_P=mathbb{R}$ so this is fine.



        $(2)$ is the property that around each $Pin U$, there exists a neighborhood $Vsubseteq U$ with $f|_V(P)=s_P$ for $sin mathscr{F}(U)$. That is, $f$ is locally a member of $mathscr{F}$. That is, $f$ is locally constant.



        So, the sections of $mathscr{F}^+(U)$ are locally constant functions valued in $mathbb{R}$. Morally, a sheaf is supposed to be an object that locally assigns functions on the space, and the sheafification formalism says that indeed this is the case.







        share|cite|improve this answer












        share|cite|improve this answer



        share|cite|improve this answer










        answered Dec 5 '18 at 0:25









        Antonios-Alexandros RobotisAntonios-Alexandros Robotis

        10.5k41641




        10.5k41641






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Mathematics Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3026292%2fexplicit-sections-after-sheafification%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            mysqli_query(): Empty query in /home/lucindabrummitt/public_html/blog/wp-includes/wp-db.php on line 1924

            How to change which sound is reproduced for terminal bell?

            Can I use Tabulator js library in my java Spring + Thymeleaf project?