Skip to content
Snippets Groups Projects
  1. Nov 23, 2007
  2. Nov 22, 2007
    • Gerardo Ganis's avatar
      Fix problem on MAC; improve argument parsing · dd57d58f
      Gerardo Ganis authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@21012 27541ba8-7e3a-0410-8455-c3a389f83636
      dd57d58f
    • Fons Rademakers's avatar
      the _REENTRANT flag was not correctly set on Mac OS X, hence the · bd5aa005
      Fons Rademakers authored
      global mutexes were not active.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@21008 27541ba8-7e3a-0410-8455-c3a389f83636
      bd5aa005
    • Wouter Verkerke's avatar
      · 2dcd7df1
      Wouter Verkerke authored
        o RooRealVar, RooAbsRealLValue, RooMCStudy, RooChi2Var, RooAbsData,
          RooHistError, RooTreeData, RooAbsPdf, RooAbsArg, RooGlobalFunc,
          RooCmdConfig, RooMath, RooNLLVar, RooAbsReal, RooNumber, RooMsgService,
          RooNameReg
      
            - Changes references to RooCmdArg::none to RooCmdArg::none()
        
            - Un-inline all static functions references static data members
      
      
        o RooCmdArg
      
           - Rename static RooCmdArg none to _none and make protected. Add
             public accessor function none()
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@21007 27541ba8-7e3a-0410-8455-c3a389f83636
      2dcd7df1
    • Rene Brun's avatar
      Proof is not an optional package. · 51972923
      Rene Brun authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@21006 27541ba8-7e3a-0410-8455-c3a389f83636
      51972923
    • Rene Brun's avatar
      From Bertrand, · 9c74206d
      Rene Brun authored
      Do not build tragets line stressProof and stressRoofit if Proof and RooFit have not been selected in configure.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@21005 27541ba8-7e3a-0410-8455-c3a389f83636
      9c74206d
    • Wouter Verkerke's avatar
      · 636ecd89
      Wouter Verkerke authored
         o RooFitResult
      
           - Relax parameter comparison tolerance in isIdentical() from 1e-6 to 5e-5
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@21004 27541ba8-7e3a-0410-8455-c3a389f83636
      636ecd89
    • Rene Brun's avatar
      From Eddy: · d817e427
      Rene Brun authored
      In the default TMinuit constructor, preset fFCN=0
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@21003 27541ba8-7e3a-0410-8455-c3a389f83636
      d817e427
    • Wouter Verkerke's avatar
      · e47fa570
      Wouter Verkerke authored
        o RooTrace
      
          - Remove inlining of static control function as this appears
            to give linking problems under Windows
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@21002 27541ba8-7e3a-0410-8455-c3a389f83636
      e47fa570
    • Rene Brun's avatar
      Fix a compilation error on Solaris. · 6eeffcd4
      Rene Brun authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@21001 27541ba8-7e3a-0410-8455-c3a389f83636
      6eeffcd4
    • Wouter Verkerke's avatar
      · 9c010f52
      Wouter Verkerke authored
        o RooFitResult
      
          - Add seperate tolerance parameter in isIdentical() for correlation
            comparisons, with a default of 1e-4
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@21000 27541ba8-7e3a-0410-8455-c3a389f83636
      9c010f52
    • Gerardo Ganis's avatar
      · 40531b83
      Gerardo Ganis authored
         - First version of 'stressProof.cxx' and related changes in the test/Makefile
         - Add missing protection in TProof to avoid starting the dialog when in batch mode
         - Add proper default initialization and destruction in tutorials/proof/ProofSimple.C,.h
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20999 27541ba8-7e3a-0410-8455-c3a389f83636
      40531b83
    • Rene Brun's avatar
      Fix for Windows · c8c67c4d
      Rene Brun authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20996 27541ba8-7e3a-0410-8455-c3a389f83636
      c8c67c4d
    • Fons Rademakers's avatar
      fix some gcc 4.2 warning. · f938b326
      Fons Rademakers authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20995 27541ba8-7e3a-0410-8455-c3a389f83636
      f938b326
    • Rene Brun's avatar
      Add stressRooFit · a59b3366
      Rene Brun authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20994 27541ba8-7e3a-0410-8455-c3a389f83636
      a59b3366
    • Rene Brun's avatar
      Add new stress suite for RooFit (by Woter Verkerke) · ff11bc8e
      Rene Brun authored
      Modify Makefile to build stressRooFit
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20993 27541ba8-7e3a-0410-8455-c3a389f83636
      ff11bc8e
    • Fons Rademakers's avatar
      set eol-style. · c67c8657
      Fons Rademakers authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20992 27541ba8-7e3a-0410-8455-c3a389f83636
      c67c8657
    • Olivier Couet's avatar
      - On 64 bits linux machine (lxplus) when stresssGraphics was ran une CINT, · 4d5e40e9
      Olivier Couet authored
        valgrind showed many unitialized variables. This was due to reasons:
        * the Form() method (it seems to overwite memory ...).
        * allocation of char arrays. 
        stressgraphics.cxx has been modified to work around these two problems.
        In compiled mode stressGraphics ran normally.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20991 27541ba8-7e3a-0410-8455-c3a389f83636
      4d5e40e9
    • Olivier Couet's avatar
      - New version · a3bdef37
      Olivier Couet authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20990 27541ba8-7e3a-0410-8455-c3a389f83636
      a3bdef37
    • Fons Rademakers's avatar
      From Andrei: · 59f74529
      Fons Rademakers authored
      container merge test.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20989 27541ba8-7e3a-0410-8455-c3a389f83636
      59f74529
    • Wouter Verkerke's avatar
      · 84621d36
      Wouter Verkerke authored
        ** Bringing trunk up-to-date w.r.t recent changes in branches/dev/roofit branch **
      
        Aggregated messages from branch commits follow
      
        --- Date: Fri Oct 19 20:35:30 2007 New Revision: 20422 ---
      
        o RooAbsArg
      
          - Add debug level print statement in findConstantNodes()
      
        o RooAbsAnaConvPdf
      
          - Do not expose cached RooCoefVars to constant term finding process.
      
      
      
        --- Date: Fri Oct 19 21:03:40 2007 New Revision: 20423 ---
      
        o RooPlot
      
          - Add forwarding function for all revent Set*() methods of TH1
      
      
      
        --- Date: Fri Oct 19 21:48:40 2007 New Revision: 20424 ---
      
        o RooAbsAnaConvPdf
      
          - Back out special handling of exposure of cached RooCoefVars 
            to constant term finding process.
      
      
        o RooObjCacheManager
      
          - Do not perform constant term finding on cache contents
            if cache manager is configured to perform clearOnRedirect
            for server redirects.
      
      
      
        --- Date: Wed Oct 31 23:36:10 2007 New Revision: 20587 ---
      
         o RooAbsRealLValue
      
            - Remove stray debug print statements
      
      
         o RooAddPdf
      
            - Add new default ctor to fix persistence introduced by
              new cache management scheme
      
            - Add forgotten initializer to regular ctor
      
      
         o RooAbsCachedPdf
      
            - Add formal server-link dependency on cache parameters to 
              RooHistPdf cache representation so that the constant term
              optimizer can make the correct decision
      
            - Make RooObjCacheManager a persistent data member
      
      
         o RooObjCacheManager
      
           - Add debug message level information
      
           - Make _optCacheObservables a transient data member and initialize
             it in the default ctor.
      
      
         o RooAbsPdf, RooProjectedPdf
      
            - Add new default ctor to fix persistence introduced by
              new cache management scheme
      
            - Make RooObjCacheManager a persistent data member
      
      
         o RooAbsArg
      
            - Add methods graphVizTree() that produce input files
              for AT&Ts graphViz to make graphical representation
              of object tree. (To make actual graphics run 'dot -Tps -o graph.ps %s'
              where %s is argument passed to graphVizTree().
      
         o RooSetProxy
      
            - Remove stray debug print statements
      
      
         o RooSimultaneous
      
            - Initialize forgotten data member in all ctors
      
      
         o RooProdPdf, RooAbsAnaConvPdf
      
            - Make RooObjCacheManager a persistent data member
              
      
         o RooSuperCategory
      
            - Make contained iterator a transient data member
              and initialize it in the default ctor.
      
         
         o RooCacheManager
      
            - Add explicit separate default ctor.
      
      
         o RooAddModel
      
            - Completely new implementation, based on existing RooAddPdf.
              RooResolutionModel functionality (convolution(),basisCode())
              taken from original RooAddModel. Reimplement integration strategy
              with caching of integral objects, rather than implementing
              only common analytical component
      
         o RooAbsAnaConvPdf,RooResolutionModel,RooAbsPdf
      
            - Remove special hook function that were required for functioning
              of original RooAddModel
      
         o RooObjCacheManager
      
            - Keep all _optCacheObservables versions created alive in separate owned list
              and only delete at end in dtor to avoid dangling pointer in complex
              optimizations
      
         o RooAbsArg
      
            - In optimizeCacheMode() ignore nodes that already have been const optimized.
              Although const optimization normally happens first, late cache optimization
              that happen upon late creation of objects can take place after const optimization.
      
      
      
        --- Date: Tue Nov 13 12:04:55 2007 New Revision: 20774 ---
      
         o RooAddModel
      
            - Completely new implementation, based on existing RooAddPdf.
              RooResolutionModel functionality (convolution(),basisCode())
              taken from original RooAddModel. Reimplement integration strategy
              with caching of integral objects, rather than implementing
              only common analytical component
      
         o RooAbsAnaConvPdf,RooResolutionModel,RooAbsPdf
      
            - Remove special hook function that were required for functioning
              of original RooAddModel
      
         o RooObjCacheManager
      
            - Keep all _optCacheObservables versions created alive in separate owned list
              and only delete at end in dtor to avoid dangling pointer in complex
              optimizations
      
         o RooAbsArg
      
            - In optimizeCacheMode() ignore nodes that already have been const optimized.
              Although const optimization normally happens first, late cache optimization
              that happen upon late creation of objects can take place after const optimization.
      
         o RooMsgService
      
            - Some restructuring to speed up code. 
      
            - Change topic naming from string to enum. 
      
            - Change debug-level print macros to take inline pre-decision
              based on static RooMsgService boolean that indicates if any debug
              stream is active. Also extend this speedup to doLogD() macro.
      
            - Allow multiple Topic specifications in a single stream using bit-wise
              or to reduce default number of streams from 6 to 2.
      
            - Terminate matching logic to streams early for 'universal' streams
              for which the logic does not depend on object properties.
      
      
         o RooGlobalFunc
      
            - Change Topic() argument from RooMsgService::MsgTopic to Int_t to allow specification
              of multiple topics
      
      
         o RooDataHist, RooMsgService, RooGenContext, RooAddModel, RooFFTConvPdf
           RooAbsAnaConvPdf, RooAbsReal, RooAddPdf, RooAbsOptGoodnessOfFit, RooAbsCachedPdf
           RooProfileLL, RooObjCacheManager, RooAbsArg, RooAbsPdf, RooRealIntegral
           RooAddGenContext, RooProdGenContext, RooConvGenContext, RooProjectedPdf, RooClassFactory
           RooWorkspace, RooTreeData
       
            - Follow change in RooMsgService interface
      
      
      
       --- Date: Tue Nov 13 13:13:05 2007 New Revision: 20776 ---
      
      
         o RooMCStudy
      
           - Initialize _genParams in 2nd ctor (fixes savannah #31139)
      
      
      
       --- Date: Fri Nov 16 21:24:52 2007 New Revision: 20853 ---
      
      
         o RooProdPdf, RooAddition
      
           - Fix memory leaks found with valgrind
      
      
         o RooMsgService, RooRealConstant, RooNumIntFactory, RooMinuit, RooNameReg, RooNumIntConfig, RooArgSet
      
           - Add cleanup() function to delete singleton at exit
      
      
         o RooMinuit
      
           - Initialize _warnLevel data member (valgrind)
      
      
         o RooAddModel
      
           - Disable coefficient projections in convolution mode
             (savannah #31302)
      
      
         o RooTrace
      
           - Remove messages about objects already deleted when not in verbose mode
      
      
         o RooSentinel
      
           - New class handling cleanup at exit
      
      
       --- Date: Mon Nov 19 16:41:52 2007 New Revision: 20901 ---
      
      
         o Makefile
      
           - Makefile to build stressRooFit
      
      
         o Makefile.arch
      
           - Stolen from $ROOTSYS/test
      
      
         o stressRooFit
      
           - Driver framework, base class of unit tests and
             automatic plot, curve, fit result comparison tools
             that unit tests can request
      
      
         o TestBasic1
      
           - Basic test running fitting, generation and plotting on Gaussian p.d.f
      
      
      
       --- Date: Wed Nov 21 17:58:28 2007 New Revision: 20965 ---
      
        o stressRooFit
      
          - Add regression test support for Double_t values
            and RooTables
      
          - In post-test analysis mode, analyze count of
            (silent) ERROR messages and fail test if they
            occcur
      
          - Eliminate memory leaks in testing framework
      
          - Add arguments '-n <N>' to run single test and
            argument '-mc' to run suite in memory checking 
            mode in which case no references files are opened
            to avoid ROOT I/O related noise in valgrind leak reports.
      
          - Link in 21 new tests
      
      
        o TestBasic2 ... TestBasic22
      
          - New stress testing modules. Modules 4,6,7,11,21 and 22
            are empty for now. All others are fully functional.
      
      
      
       --- Date: Thu Nov 22 14:32:14 2007 New Revision: 20980 ---
      
      
         o test/TestBasic15, test/TestBasic16, test/TestBasic20
      
           - Fix memory leak in test code itself
      
      
         o test/stressRooFit
      
           - Activate RooFit internal memory tracing when run in memory check mode
      
      
         o RooDataHist
      
           - Fix memory leak
      
      
         o RooMsgService
      
           - Add Tracing subject
      
           - Fix bug in printing of multi-subject streams 
      
           - Keep track of total number of (silent) ERROR messages
      
           - Add method to access contents of stream configurations
      
      
         o RooIntegrator1D, RooIntegrator2D, RooSegmentedIntegrator1D, RooSegmentedIntegrator2D, 
           RooGaussKronrodIntegrator1D, RooAdaptiveGaussKronronIntegrator1D, RooMCIntegrator, RooGrid
      
           - Fix default ctor to initialize all values used in dtor
      
      
         o RooAddModel
      
           - Add optional boolean to ctor to take ownership of components. Used
             in RooAddModel::convolution()
      
           - Fix memory leak in convolution()
      
      
         o RooFitResult
      
           - Migrations to RooMsgService
      
           - Add isIdentical() method for use in regression testing
      
      
         o RooCurve, RooHist
      
           - Add isIdentical() method for use in regression testing
      
      
         o Roo1DTable
      
           - Make persistable
      
           - Add isIdentical() method for use in regression testing
      
      
         o RooMath
      
           - Migrations to RooMsgService
      
           - Register static memory allocation of CERF lookup table in RooSentinel
             for cleanup in atexit().
      
      
         o RooAbsReal
      
           - Migrations to RooMsgService
      
           - Fix invalid read access due to wrong destructor order in plotAsymOn()
      
           - Fix memory leak in plotOn()
      
      
         o RooAbsCollection
      
           - Restrict creation of hash tables to deep-copy operations
             or shallow copy operations of lists with >30 elements
      
      
         o RooAddPdf, RooRealVar, RooDataProjBinding, RooFormulaVar, RooTreeData
      
           - Migrations to RooMsgService
      
      
         o RooAbsOptGoodnessOfFit
      
           - Fix memory leak
      
      
         o RooAbsPdf
      
           - Migrations to RooMsgService
      
           - Fix memory leak in fitTo()
      
      
         o RooNumIntFactory
                  
           - Delete all owned prototype integrators in dtor
      
      
         o RooBinning
      
           - Fix ctors to always initialize _xlo and _xhi
      
      
         o RooResolutioModel
      
           - Register static identity RooFormulaVar with RooSentinel
             for cleanup in atexit()
      
      
         o RooSimPdfBuilder
      
           - Migrations to RooMsgService
      
           - Delete all fitCats and RooSimultaneous instances created 
             by builder in dtor
      
           - Return non-const top-level p.d.f. from buildPdf()
      
      
         o RooLinkedList
      
           - First delete hash tables, then clear list instead of
             reverse order to avoid invalid read problems with TList
      
      
         o RooMinuit
      
           - Migrations to RooMsgService
      
           - Initialize MINUIT print levels to -1 if RooMsgService
             is operating in silent mode
      
           - Trim initial error on parameters if param +/- 2*errors
             is out of param range
      
      
         o RooSentinel
      
           - Add cleanup hooks from RooMath and RooResolutionModel
      
      
         o RooSimultaneous
      
           - Fix memory leak
      
           - Migrations to RooMsgService
      
      
         o  RooProjectedPdf
      
           - Implement RooProjectedPdf::CacheElem dtor
      
      
         o  RooTable
      
           - Add pure virtual isIdentical() interface
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20988 27541ba8-7e3a-0410-8455-c3a389f83636
      84621d36
    • Gerardo Ganis's avatar
      Add getters for the list of log elements and the element TMacro · 51c50002
      Gerardo Ganis authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20987 27541ba8-7e3a-0410-8455-c3a389f83636
      51c50002
    • Fons Rademakers's avatar
      From Andrei: · fe45b694
      Fons Rademakers authored
      implements Merge() method.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20986 27541ba8-7e3a-0410-8455-c3a389f83636
      fe45b694
    • Fons Rademakers's avatar
      fix gcc 4.2 compilation warnings. · effd7ad8
      Fons Rademakers authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20985 27541ba8-7e3a-0410-8455-c3a389f83636
      effd7ad8
    • Fons Rademakers's avatar
      fix Py_ssize_t and %u print format warnings. · 467cf083
      Fons Rademakers authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20984 27541ba8-7e3a-0410-8455-c3a389f83636
      467cf083
    • Ilka Antcheva's avatar
      Do not reuse the same cascaded menu on different level. · fc64b48e
      Ilka Antcheva authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20983 27541ba8-7e3a-0410-8455-c3a389f83636
      fc64b48e
    • Ilka Antcheva's avatar
      Handle multi-line tooltips in the generated code. · 106b0f0c
      Ilka Antcheva authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20982 27541ba8-7e3a-0410-8455-c3a389f83636
      106b0f0c
    • Ilka Antcheva's avatar
      Do not reuse the same cascaded menu on different level. · e1372b55
      Ilka Antcheva authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20981 27541ba8-7e3a-0410-8455-c3a389f83636
      e1372b55
    • Axel Naumann's avatar
      From Philippe, Paul, Fons, Christian Holm, and me: · afd35c63
      Axel Naumann authored
      CINT v5-16-28 (actually: up to r2026)
      * - support MacOSX 10.5 + macos64, rename macgcc to macos.
      * - from Christian Holm Christensen:
      *   new MIPS and HPPA linux architectures supported
      * - support MSVC2008
      * - fix several problems discovered in CINT's test suite and with valgrind
      * - fix autoloading of templated classes with typedefs as template argument
      * - Add dictionary for std::string::(const_)reverse_iterator and 
      *   std::string::iterator's operator ==, != also for GCC > 3.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20979 27541ba8-7e3a-0410-8455-c3a389f83636
      afd35c63
    • Rene Brun's avatar
      From Bertrand: · 7738ec10
      Rene Brun authored
      - Make sure event->fWindow is always set
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20978 27541ba8-7e3a-0410-8455-c3a389f83636
      7738ec10
    • Rene Brun's avatar
      Add support for "average/efficiency" histograms in TH1::Add · ce07f185
      Rene Brun authored
      // SPECIAL CASE (Average/Efficiency histograms)
      // For histograms representing averages or efficiencies, one should compute the average
      // of the two histograms and not the sum. One can mark a histogram to be an average
      // histogram by setting its bit kIsAverage with
      //    myhist.SetBit(TH1::kIsAverage);
      // Note that the two histograms must have their kIsAverage bit set
      
      When the utility hadd is used, histograms with teh kIsAverage bit set are averaged and not summed.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20977 27541ba8-7e3a-0410-8455-c3a389f83636
      ce07f185
    • Rene Brun's avatar
      Fix coding conventions · 72dc4b86
      Rene Brun authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20976 27541ba8-7e3a-0410-8455-c3a389f83636
      72dc4b86
    • Lorenzo Moneta's avatar
      ff70c9b0
    • Rene Brun's avatar
      From Valeriy: · 7ab72cd8
      Rene Brun authored
      - fix a small mem.leak reported by purify
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20974 27541ba8-7e3a-0410-8455-c3a389f83636
      7ab72cd8
  3. Nov 21, 2007
    • Wim Lavrijsen's avatar
      added static to declarations · d844c906
      Wim Lavrijsen authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@20971 27541ba8-7e3a-0410-8455-c3a389f83636
      d844c906
    • Axel Naumann's avatar
      From Scott Snyder: · c4cdfd5d
      Axel Naumann authored
      Fix a problem with the dictionary generation when the default arguments depends not just on the template name, but on earlier template arguments:
      ---------------------------------------------------------
      #include "Reflex/Builder/DictSelection.h"
      
      template <class T>
      class Default {};
      
      namespace ROOT { namespace Reflex { namespace Selection {
      template <class T, class U> struct C;
      }}}
      
      template <class T, class U = Default<T> >
      class C
      {
        typedef typename
          ROOT::Reflex::Selection::C<T, U>::self self;
      };
      
      
      namespace ROOT { namespace Reflex { namespace Selection {
      template <class T, class U>
      struct C
      {
        typedef C<T, U> self;
        ROOT::Reflex::Selection::TEMPLATE_DEFAULTS<
          ROOT::Reflex::Selection::NODEFAULT,
          Default<T> > dum1;
        ROOT::Reflex::Selection::NO_SELF_AUTOSELECT dum2;
      };
      }}}
      
      
      struct foo
      {
        C<int> a;
        C<float> b;
      };
      
      ---------------------------------------------------------
      <lcgdict>
        <class name="C<int>"/>
        <class name="C<float>"/>
      </lcgdict>
      ---------------------------------------------------------
      resulted in the warning:
      
      --->> genreflex: WARNING: Class C<float> in selection file selection.xml not generated.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20969 27541ba8-7e3a-0410-8455-c3a389f83636
      c4cdfd5d
    • Ilka Antcheva's avatar
      From Bertrand: · d4b7b5c5
      Ilka Antcheva authored
      Fixed leaking pictures - seen in gObjectTable->Print().
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@20966 27541ba8-7e3a-0410-8455-c3a389f83636
      d4b7b5c5
Loading