+
    AžÀj2  ã                  óÞ   € ^ RI Ht ^ RIt^RIHt ^RIHt ^RIHt ]P                  ! R]P                  R]P                  3,          R7      t]! . RO4      t ! R	 R
4      t ! R R]4      tR# )é    )ÚannotationsN)Útyping)Úcurrent_app)ÚrequestÚF.)Úboundc                  óv   € ] tR t^t$ RtRtR]R&   RtR]R&   . tR]R&   R	t	R
]R&   R R lt
]R R l4       tRtR# )ÚViewa²  Subclass this class and override :meth:`dispatch_request` to
create a generic class-based view. Call :meth:`as_view` to create a
view function that creates an instance of the class with the given
arguments and calls its ``dispatch_request`` method with any URL
variables.

See :doc:`views` for a detailed guide.

.. code-block:: python

    class Hello(View):
        init_every_request = False

        def dispatch_request(self, name):
            return f"Hello, {name}!"

    app.add_url_rule(
        "/hello/<name>", view_func=Hello.as_view("hello")
    )

Set :attr:`methods` on the class to change what methods the view
accepts.

Set :attr:`decorators` on the class to apply a list of decorators to
the generated view function. Decorators applied to the class itself
will not be applied to the generated view function!

Set :attr:`init_every_request` to ``False`` for efficiency, unless
you need to store request-global data on ``self``.
Nz$t.ClassVar[t.Collection[str] | None]Úmethodszt.ClassVar[bool | None]Úprovide_automatic_optionsz(t.ClassVar[list[t.Callable[..., t.Any]]]Ú
decoratorsTzt.ClassVar[bool]Úinit_every_requestc               ó   € V ^8„  d   QhRR/# )é   Úreturnúft.ResponseReturnValue© )Úformats   "Ú_/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.14/site-packages/flask/views.pyÚ__annotate__ÚView.__annotate__N   s   € ÷ $ñ $Ð"8ñ $ó    c                ó   € \        4       h)zŸThe actual view function behavior. Subclasses must override
this and return a valid response. Any variables from the URL
rule are passed as keyword arguments.
)ÚNotImplementedError)Úselfs   &r   Údispatch_requestÚView.dispatch_requestN   s   € ô
 "Ó#Ð#r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   ÚnameÚstrÚ
class_argsút.AnyÚclass_kwargsr   zft.RouteCallabler   )r   s   "r   r   r   V   s,   € ÷ 1ñ 1Øð1Ø%*ð1Ø<Að1à	ñ1r   c                óš  aaaa€ V P                   '       d   R VVV3R lloMV ! S/ SB oR V3R lloV P                  '       d4   VSn        V P                  Sn        V P                   F  pV! S4      oK  	  V Sn        VSn        V P
                  Sn        V P                  Sn        V P                  Sn        V P                  Sn        S# )a  Convert the class into a view function that can be registered
for a route.

By default, the generated view will create a new instance of the
view class for every request and call its
:meth:`dispatch_request` method. If the view class sets
:attr:`init_every_request` to ``False``, the same instance will
be used for every request.

Except for ``name``, all other arguments passed to this method
are forwarded to the view class ``__init__`` method.

.. versionchanged:: 2.2
    Added the ``init_every_request`` class attribute.
c               ó    € V ^8„  d   QhRRRR/# ©r   Úkwargsr"   r   r   r   )r   s   "r   r   Ú"View.as_view.<locals>.__annotate__j   s   € ÷ Pñ P˜uð PÐ)?ñ Pr   c                 ót   <€ SP                   ! S/ SB p\        P                  ! VP                  4      ! R/ V B # ©Nr   )Ú
view_classr   Úensure_syncr   )r'   r   r!   r#   Úviews   , €€€r   r-   ÚView.as_view.<locals>.viewj   s=   ø€ Ø—’ØðØ#/ñ�ô #×.Ò.¨t×/DÑ/DÔEÑOÈÑOÐOr   c               ó    € V ^8„  d   QhRRRR/# r&   r   )r   s   "r   r   r(   s   s   € ÷ Pñ P˜uð PÐ)?ñ Pr   c                 óP   <€ \         P                  ! SP                  4      ! R/ V B # r*   )r   r,   r   )r'   r   s   ,€r   r-   r.   s   s"   ø€ Ü"×.Ò.¨t×/DÑ/DÔEÑOÈÑOÐOr   )r   r   Ú__name__Ú
__module__r+   Ú__doc__r   r   )Úclsr   r!   r#   Ú	decoratorr   r-   s   &&jl @@r   Úas_viewÚView.as_viewU   s²   û€ ð& ×!×!Ð!÷Pó Pñ ˜
Ð3 lÑ3ˆD÷Pð Pð �>�>ˆ>Ø ˆDŒMØ!Ÿn™nˆDŒOØ Ÿ^œ^�	Ù  “’ñ ,ð ˆŒØˆŒØ—{‘{ˆŒØŸ.™.ˆŒØ—{‘{ˆŒØ),×)FÑ)FˆÔ&Øˆr   r   )r1   r2   Ú__qualname__Ú__firstlineno__r3   r   Ú__annotations__r   r   r   r   Úclassmethodr6   Ú__static_attributes__r   r   r   r
   r
      sW   ‡ ñðD 59€GÐ1Ó8ð
 :>ÐÐ6Ó=ð <>€JÐ8Ó=ð ,0ÐÐ(Ó/õ$ð ô1ó ô1r   r
   c                  ó>   a € ] tR t^ŠtRtR V 3R lltR R ltRtV ;t# )Ú
MethodViewa©  Dispatches request methods to the corresponding instance methods.
For example, if you implement a ``get`` method, it will be used to
handle ``GET`` requests.

This can be useful for defining a REST API.

:attr:`methods` is automatically set based on the methods defined on
the class.

See :doc:`views` for a detailed guide.

.. code-block:: python

    class CounterAPI(MethodView):
        def get(self):
            return str(session.get("counter", 0))

        def post(self):
            session["counter"] = session.get("counter", 0) + 1
            return redirect(url_for("counter"))

    app.add_url_rule(
        "/counter", view_func=CounterAPI.as_view("counter")
    )
c               ó    € V ^8„  d   QhRRRR/# )r   r'   r"   r   ÚNoner   )r   s   "r   r   ÚMethodView.__annotate__¥   s   € ÷ &ñ &¨ð &°4ñ &r   c                	ó†  <€ \         SV `  ! R/ VB  R V P                  9  dŸ   \        4       pV P                   F3  p\        VR R4      '       g   K  VP                  VP                  4       K5  	  \         F5  p\        W4      '       g   K  VP                  VP                  4       4       K7  	  V'       d	   W n        R# R# R# )r   Nr   )ÚsuperÚ__init_subclass__Ú__dict__ÚsetÚ	__bases__ÚgetattrÚupdater   Úhttp_method_funcsÚhasattrÚaddÚupper)r4   r'   r   ÚbaseÚkeyÚ	__class__s   &,   €r   rD   ÚMethodView.__init_subclass__¥   s�   ø€ Ü‰Ò!Ñ+ FÒ+à˜CŸL™LÔ(Ü“eˆGàŸœ�Ü˜4 ¨D×1Ô1Ø—N‘N 4§<¡<Ö0ñ &÷ )�Ü˜3×$Ô$Ø—K‘K §	¡	£Ö,ñ )÷ Ø%–ñ ñ )r   c               ó    € V ^8„  d   QhRRRR/# r&   r   )r   s   "r   r   rA   ¶   s   € ÷ 	7ñ 	7¨ð 	7Ð3Iñ 	7r   c                	ó  € \        V \        P                  P                  4       R 4      pVf#   \        P                  R8X  d   \        V RR 4      pVf   Q R\        P                  : 24       h\        P
                  ! V4      ! R/ VB # )NÚHEADÚgetzUnimplemented method r   )rH   r   ÚmethodÚlowerr   r,   )r   r'   Úmeths   &, r   r   ÚMethodView.dispatch_request¶   st   € Ü�tœWŸ^™^×1Ñ1Ó3°TÓ:ˆð Š<œGŸN™N¨fÔ4Ü˜4 ¨Ó-ˆDàÒÐKÐ#8¼¿¹Ñ8JÐ!KÓKÐÜ×&Ò& tÔ,Ñ6¨vÑ6Ð6r   r   )	r1   r2   r8   r9   r3   rD   r   r<   Ú__classcell__)rP   s   @r   r>   r>   Š   s   ø† ñ÷4&ð &÷"	7ó 	7r   r>   )rU   ÚpostÚheadÚoptionsÚdeleteÚputÚtraceÚpatch)Ú
__future__r   r   ÚtÚ ÚftÚglobalsr   r   ÚTypeVarÚCallableÚAnyr   Ú	frozensetrJ   r
   r>   r   r   r   Ú<module>rk      s\   ðÝ "ã å Ý  Ý à‡I‚Iˆc˜Ÿ™ C¨¯© JÕ/Ô0€áÚIóÐ ÷
wñ wôt57�ö 57r   