text:
Chris Watts is accused of killing his wife Shanann and their two children.
Accused killer dad's interview slip-up
by The Sun, staff writer
20th Aug 2018 2:54 PM
THE American man who accused of killing his pregnant wife and kids might have given away nine telltale signs of his guilt during an appeal for their safe return.
Seemingly calm Chris Watts appeared on US TV to claim he had absolutely no idea where his wife and kids had disappeared to hours before "confessing" to cops.
Shanann, who was 15 weeks pregnant with her third child, disappeared from Frederick, Colorado, on Monday with daughters, Bella, four, and Celeste, three, known as "Cece".
Shanann and Chris Watts.
Her husband was filmed outside the family home as he pleaded for the safe return of his missing family - hours before reportedly confessing to killing them.
He looked into the cameras as he said: "I have no idea, like, where they went. I don't feel like this is even real right now. It's like a nightmare I can't wake up from."
During the interview - now seen around the world - he told how he called in the cops after learning his house was deserted.
However, just hours later legal sources claimed he had confessed to killing his family and is now behind bars awaiting charges.
Chris Watts claimed he had no idea where his wife and children were before. Picture: AP
Renowned body language expert Judi James analysed his interview and revealed the clues that might have given him away.
Judi said: "Body language is not a precise science and using it in legal cases like this one can be especially difficult as lying signals can depend primarily on guilt-based responses.
"This means an honest person lying about a very minor misdemeanour can easily look more guilty than a murderer who might be incapable of feelings of guilt or even who believes their actions were justified.
"The other feature of this footage is that - like a lot of people wanting to look honest - he clearly sticks to the true events of his story.
"The narrative here is about the friend calling him and how the house was empty when he got there.
"These are likely to be events that he really did experience, so the verbal version and the non-verbal signals would be more likely to be congruent and it is often this that gives an impression of being cool and collected.
"His arms are folded which would help avoid any gesticulation that might be incongruent to the verbal narrative.
"Although this creates a physical 'poker face' his emotions still emerge via a side-to-side swaying of the body and a shaking of the head as he talks.
The appeared to be the perfect family. Picture: Supplied
"The head shake will look like a 'no' gesture but it can also be used to register disbelief. His eyes move to his right as he relates his story before coming back to perform sustained bouts of quite level eye contact.
"The sideways glance can suggest someone is accessing creative thinking but this trait isn't true of everyone.
"Eye contact is often seen as a signal of truthfulness but it is often acted quite effectively by people who are guilty too.
"His blink rate isn't accelerated to a point where you might suspect anxiety or fear but his breathing does sound a little shallow, which can happen under pressure.
"However that pressure could be caused by either guilt or by anxiety about a missing family."
CHILLING PHOTO POSTED DAYS EARLIER
Ms Watts posted a harrowing image to Facebook just days before she and her two daughters were found dead at an oil plant where her husband worked.
It showed a three-foot plastic doll that her daughters had wrapped up in a plastic mat from the party game Twister.
"I don't know what to think about this...," Ms Watts wrote alongside two laughing-tears emojis.
Shanann Watt's young girls had wrapped a doll in a plastic mat. Picture: Facebook/Shanann Watts
Aware that her two girls, Bella and Celeste, had staged the scene, The Sun reported she wrote: "At least they covered the body together. At least we know they have each other's back."
In June, a joyful exchange of messages between Ms Watts and her husband painted the accused as a loving, family man excited by the impending arrival of their third child.
The Sun reported Watts sent a moving message to his 34-year-old wife after receiving an ultrasound picture.
Chris Watts sent his wife Shanann this loving text before he allegedly killed her and their daughters. Picture: Supplied
"Little Peanut! Love her/him already!!!" he wrote in response to the photo she pinged to his mobile phone after looking at the tiny embryo of the child they planned to call Niko.
Shanann shared the exchange on her Facebook page writing: "I love Chris! He's the best dad us girls could ask for."
The children were found dead in oil tanks a week later, which were allegedly used in order to conceal the smell, Denver 7 news reported.
'MAY SATAN HAVE MERCY ON HIS SOUL'
Ms Watt's brother, Frankie Rzucek, took to Facebook to slam the 33-year-old accused.
"I just want 30 seconds alone with that heartless psychopath," Mr Rzucek wrote.
"May Satan have mercy on his soul."
Mr Rzucek also criticised police, saying it was clear Watts was a prime suspect.
"The cops drug (sic.) their feet. He was the only one with them and backed his truck into the garage. Doesn't take a genius to know who was suspect," Mr Rzucek said.
My blood is boiling and the pain and anger and sadness I have in my heart. Nothing absolutely nothing would get in my way of taking away his life like he did mine and my ENTIRE FAMILY."
Frankie Rzucek (left) and Shanann Watts. Picture: Facebook/Frankie Rzucek
Ms Watts had recently visited her mother in North Carolina, where a neighbour said nothing she discussed showed cause for concern.
"She was here for about three weeks. I talked her a couple times," Joe Beach told The Associated Press.
"We were talking about general things, about how her two girls were doing and how life was out in Colorado. She didn't give me an indication that there was anything wrong. She seemed pretty happy."
The FBI and Colorado Bureau of Investigation are also investigating the incident, local legal sources told Denver7.
Shanann Watts had visited her mother three weeks before she was found dead, where a neighbour said nothing appeared wrong.
During the interview, Watts claimed he texted his wife numerous times but didn't get any response which he thought was odd. He then raced home but found it empty and quickly filed a missing persons report with the cops.
He claimed: "I was trying to get home as fast as I can, I was blowing through stop lights. I was blowing through everything just trying to get home as fast as I can because none of this made sense.
"I don't feel like this is even real right now. It's like a nightmare I can't wake up from."
The Frederick Police Department confirmed they had made an arrest "in connection to the missing person's case" of Shanann and her daughters.
Parts of this story originally appeared on The Sun and are republished with permission.
Chris Watts allegedly killed his wife Shanann and daughters Bella, four, and Celeste, three.
Jail is the right place for my child
Spacey's film flops spectacularly
Nine gripping mysteries to stream tonight
Murdered mum feared hubby was cheating: friend
Killer dad's eerie video on bad relationships


You will enjoy the true benefits of education. As said by Nelson Mandela, Education is the most powerful weapon which you can use to change the world.
them. Having bad study habits can really show up in your grades, but if you change your study habits your grades will improve. Keep Distractions to a Minimum. Responding in the right way to feedback and not taking criticism personally will be particularly useful if you feel youre underperforming, as this should give you the guidance you need to be able to improve. Start working on essay material as early as possible. Going from getting mediocre grades into good grades isnt going to happen overnight. Scanning is where you look through the main parts in a book to figure out whether it relates to your given topic. When you take notes and study further about the subject matter at hand, you are going to boost your grade even further. Carry a notebook with you and write down all the important ideas. Keep your workspace tidy and all your notes and textbooks organised in such a way that you know where everything.
It takes time to get yourself organized and develop the skills you need to succeed. To help you boost your grades, here are a few simple tips. Don t worry about your grades as much as you concern yourself with mastering the use of the language. We understand quite well that when someone learns. Everybody can get good grades no matter who you are.
But Im convinced that in international baccalaureate tok essay most cases these students became good writers in spite of their formal training in essay writing, rather than because. Youll probably already have a vague idea of the answers to these questions, but seeing your grades written down on paper perhaps even in graph format can help you see things more clearly. Try to read a range of other essays, including those of your peers and of academics. Now, maybe some of you watching this will think that none of this is surprising. By going through the tips above, you can begin improving your grades in no time at all. If youre prone to daydreaming in class, its time to start focusing on the here and now. Your teachers know you best, so its worth talking to them when youre drawing up a plan of action for improving your grades. This is where you need to implement techniques like scanning, skimming and spotting keywords.


text:
    #error "Q_SPY must be defined to include qs.h"
#endif

#ifndef QS_TIME_SIZE

    //! The size (in bytes) of the QS time stamp. Valid values: 1, 2,
    //! or 4; default 4.
    /// @description
    /// This macro can be defined in the QS port file (qs_port.h) to
    /// configure the QP::QSTimeCtr type. Here the macro is not defined so
    /// the default of 4 byte is chosen.
    #define QS_TIME_SIZE 4
#endif

//! access element at index @p i_ from the base pointer @p base_
///
/// @note This macro encapsulates MISRA-C++ 2008 Rule 5-0-15 (pointer
/// arithmetic other than array indexing).
#define QS_PTR_AT_(base_, i_) (base_[i_])

//****************************************************************************
namespace QP {

//! Quantum Spy record types.
/// @description
/// This enumeration specifies the record types used in the QP components.
/// You can specify your own record types starting from QP::QS_USER offset.
/// Currently, the maximum of all records cannot exceed 256.
/// @sa QP::QS::filterOn() / QS_FILTER_ON() and QP::QS::filterOff() /
/// QS_FILTER_OFF()
enum QSpyRecords {
    // [0] QS session (not maskable)
    QS_EMPTY,             //!< QS record for cleanly starting a session

    // [1] QEP records
    QS_QEP_STATE_ENTRY,   //!< a state was entered
    QS_QEP_STATE_EXIT,    //!< a state was exited
    QS_QEP_STATE_INIT,    //!< an initial transition was taken in a state
    QS_QEP_INIT_TRAN,     //!< the top-most initial transition was taken
    QS_QEP_INTERN_TRAN,   //!< an internal transition was taken
    QS_QEP_TRAN,          //!< a regular transition was taken
    QS_QEP_IGNORED,       //!< an event was ignored (silently discarded)
    QS_QEP_DISPATCH,      //!< an event was dispatched (begin of RTC step)
    QS_QEP_UNHANDLED,     //!< an event was unhandled due to a guard

    // [10] QF records
    QS_QF_ACTIVE_ADD,     //!< an AO has been added to QF (started)
    QS_QF_ACTIVE_REMOVE,  //!< an AO has been removed from QF (stopped)
    QS_QF_ACTIVE_SUBSCRIBE,  //!< an AO subscribed to an event
    QS_QF_ACTIVE_UNSUBSCRIBE,//!< an AO unsubscribed to an event
    QS_QF_ACTIVE_POST_FIFO,  //!< an event was posted (FIFO) directly to an AO
    QS_QF_ACTIVE_POST_LIFO,  //!< an event was posted (LIFO) directly to an AO
    QS_QF_ACTIVE_GET, //!< an AO got an event and its queue is still not empty
    QS_QF_ACTIVE_GET_LAST,//!< an AO got an event and its queue is empty
    QS_QF_EQUEUE_INIT,    //!< an event queue was initialized
    QS_QF_EQUEUE_POST_FIFO,  //!< an event was posted (FIFO) to a raw queue
    QS_QF_EQUEUE_POST_LIFO,  //!< an event was posted (LIFO) to a raw queue
    QS_QF_EQUEUE_GET,     //!< get an event and queue still not empty
    QS_QF_EQUEUE_GET_LAST,//!< get the last event from the queue
    QS_QF_MPOOL_INIT,     //!< a memory pool was initialized
    QS_QF_MPOOL_GET,      //!< a memory block was removed from a memory pool
    QS_QF_MPOOL_PUT,      //!< a memory block was returned to a memory pool
    QS_QF_PUBLISH,        //!< an event was truly published to subscribers
    QS_QF_RESERVED8,
    QS_QF_NEW,            //!< new event creation
    QS_QF_GC_ATTEMPT,     //!< garbage collection attempt
    QS_QF_GC,             //!< garbage collection
    QS_QF_TICK,           //!< QP::QF::tickX() was called
    QS_QF_TIMEEVT_ARM,    //!< a time event was armed
    QS_QF_TIMEEVT_AUTO_DISARM, //!< a time event expired and was disarmed
    QS_QF_TIMEEVT_DISARM_ATTEMPT,//!< attempt to disarm a disarmed QTimeEvt
    QS_QF_TIMEEVT_DISARM, //!< true disarming of an armed time event
    QS_QF_TIMEEVT_REARM,  //!< rearming of a time event
    QS_QF_TIMEEVT_POST,   //!< a time event posted itself directly to an AO
    QS_QF_TIMEEVT_CTR,    //!< a time event counter was requested
    QS_QF_CRIT_ENTRY,     //!< critical section was entered
    QS_QF_CRIT_EXIT,      //!< critical section was exited
    QS_QF_ISR_ENTRY,      //!< an ISR was entered
    QS_QF_ISR_EXIT,       //!< an ISR was exited
    QS_QF_INT_DISABLE,    //!< interrupts were disabled
    QS_QF_INT_ENABLE,     //!< interrupts were enabled
    QS_QF_ACTIVE_POST_ATTEMPT, //!< attempt to post an evt to AO failed
    QS_QF_EQUEUE_POST_ATTEMPT, //!< attempt to post an evt to QEQueue failed
    QS_QF_MPOOL_GET_ATTEMPT,   //!< attempt to get a memory block failed
    QS_QF_RESERVED1,
    QS_QF_RESERVED0,

    // [50] QK/QV records
    QS_SCHED_LOCK,        //!< scheduler was locked
    QS_SCHED_UNLOCK,      //!< scheduler was unlocked
    QS_SCHED_NEXT,        //!< scheduler found next task to execute
    QS_SCHED_IDLE,        //!< scheduler became idle
    QS_SCHED_RESUME,      //!< scheduler resumed previous task (not idle)

    // [55] Additional QEP records
    QS_QEP_TRAN_HIST,     //!< a tran to history was taken
    QS_QEP_TRAN_EP,       //!< a tran to entry point into a submachine
    QS_QEP_TRAN_XP,       //!< a tran to exit  point out of a submachine
    QS_QEP_RESERVED1,
    QS_QEP_RESERVED0,

    // [60] Miscellaneous QS records
    QS_SIG_DICT,          //!< signal dictionary entry
    QS_OBJ_DICT,          //!< object dictionary entry
    QS_FUN_DICT,          //!< function dictionary entry
    QS_USR_DICT,          //!< user QS record dictionary entry
    QS_TARGET_INFO,       //!< reports the Target information
    QS_RESERVED0,
    QS_RX_STATUS,         //!< reports QS data receive status
    QS_TEST_STATUS,       //!< reports test status
    QS_PEEK_DATA,         //!< reports the data from the PEEK query
    QS_ASSERT_FAIL,       //!< assertion failed in the code

    // [70] Application-specific (User) QS records
    QS_USER               //!< the first record available to QS users
};

//! Specification of all QS records for the QP::QS::filterOn() and
//! QP::QS::filterOff()
uint_fast8_t const QS_ALL_RECORDS = static_cast<uint_fast8_t>(0xFF);

//! Constant representing End-Of-Data condition returned from the
//! QP::QS::getByte() function.
uint16_t const QS_EOD  = static_cast<uint16_t>(0xFFFF);

#if (QS_TIME_SIZE == 1)
    typedef uint8_t QSTimeCtr;
    #define QS_TIME_()   (QP::QS::u8_(QP::QS::onGetTime()))
#elif (QS_TIME_SIZE == 2)
    typedef uint16_t QSTimeCtr;
    #define QS_TIME_()   (QP::QS::u16_(QP::QS::onGetTime()))
#elif (QS_TIME_SIZE == 4)

    //! The type of the QS time stamp. This type determines the dynamic
    //! range of QS time stamps
    typedef uint32_t QSTimeCtr;

    //! Internal macro to output time stamp to the QS record
    #define QS_TIME_()   (QP::QS::u32_(QP::QS::onGetTime()))
#else
    #error "QS_TIME_SIZE defined incorrectly, expected 1, 2, or 4"
#endif

//! QS ring buffer counter and offset type
typedef unsigned int QSCtr;

//! Quantum Spy logging facilities
/// @description
/// This class groups together QS services. It has only static members and
/// should not be instantiated.
class QS {
public:

    //! get the current QS version number string of the form X.Y.Z
    static char_t const *getVersion(void) {
        return versionStr;
    }

    //! Initialize the QS data buffer.
    static void initBuf(uint8_t sto[], uint_fast16_t const stoSize);

    //! Turn the global Filter on for a given record type @p rec.
    static void filterOn(uint_fast8_t const rec);

    //! Turn the global Filter off for a given record type @p rec.
    static void filterOff(uint_fast8_t const rec);

    //! Mark the begin of a QS record @p rec
    static void beginRec(uint_fast8_t const rec);

    //! Mark the end of a QS record @p rec
    static void endRec(void);

    // unformatted data elements output ......................................

    //! output uint8_t data element without format information
    static void u8_(uint8_t const d);

    //! output two uint8_t data elements without format information
    static void u8u8_(uint8_t const d1, uint8_t const d2);

    //! Output uint16_t data element without format information
    static void u16_(uint16_t d);

    //! Output uint32_t data element without format information
    static void u32_(uint32_t d);

    //! Output zero-terminated ASCII string element without format information
    static void str_(char_t const *s);

    // formatted data elements output ........................................

    //! Output uint8_t data element with format information
    static void u8(uint8_t const format, uint8_t const d);

    //! output uint16_t data element with format information
    static void u16(uint8_t format, uint16_t d);

    //! Output uint32_t data element with format information
    static void u32(uint8_t format, uint32_t d);

    //! Output 32-bit floating point data element with format information
    static void f32(uint8_t format, float32_t const d);

    //! Output 64-bit floating point data element with format information
    static void f64(uint8_t format, float64_t const d);

    //! Output zero-terminated ASCII string element with format information
    static void str(char_t const *s);

    //! Output memory block of up to 255-bytes with format information
    static void mem(uint8_t const *blk, uint8_t size);

#if (QS_OBJ_PTR_SIZE == 8) || (QS_FUN_PTR_SIZE == 8)
    //! Output uint64_t data element without format information
    static void u64_(uint64_t d);

    //! Output uint64_t data element with format information
    static void u64(uint8_t format, uint64_t d);
#endif  // (QS_OBJ_PTR_SIZE == 8) || (QS_FUN_PTR_SIZE == 8)

    //! Output signal dictionary record
    static void sig_dict(enum_t const sig, void const * const obj,
                         char_t const *name);

    //! Output object dictionary record
    static void obj_dict(void const * const obj,
                         char_t const *name);

    //! Output function dictionary record
    static void fun_dict(void (* const fun)(void),
                         char_t const *name);

    //! Output user dictionary record
    static void usr_dict(enum_t const rec,
                         char_t const *name);

    //! Initialize the QS RX data buffer
    static void rxInitBuf(uint8_t sto[], uint16_t const stoSize);

    //! Parse all bytes present in the QS RX data buffer
    static void rxParse(void);

    //! Obtain the number of free bytes in the QS RX data buffer
    static uint16_t rxGetNfree(void);

    //! put one byte into the QS RX lock-free buffer
    static void rxPut(uint8_t const b) {
        if (rxPriv_.head != static_cast<QSCtr>(0)) {
            if ((rxPriv_.head - rxPriv_.tail) != static_cast<QSCtr>(1)) {
                QS_PTR_AT_(rxPriv_.buf, rxPriv_.head) = b;
                --rxPriv_.head;
            }
        }
        else {
            if (rxPriv_.tail != rxPriv_.end) {
                QS_PTR_AT_(rxPriv_.buf, 0) = b;
                rxPriv_.head = rxPriv_.end;
            }
        }
    }

    // QS buffer access ......................................................

    //! Byte-oriented interface to the QS data buffer.
    static uint16_t getByte(void);

    //! Block-oriented interface to the QS data buffer.
    static uint8_t const *getBlock(uint16_t * const pNbytes);

    // platform-dependent callback functions to be implemented by clients ....

    //! Callback to startup the QS facility
    static bool onStartup(void const *arg);

    //! Callback to cleanup the QS facility
    static void onCleanup(void);

    //! Callback to flush the QS trace data to the host
    static void onFlush(void);

    //! Callback to obtain a timestamp for a QS record.
    static QSTimeCtr onGetTime(void);

    //! Callback function to reset the target (to be implemented in the BSP)
    static void onReset(void);

    //! Callback function to execute user commands (to be implemented in BSP)
    static void onCommand(uint8_t cmdId, uint32_t param);

    //! Enumerates data formats recognized by QS
    /// @description
    /// QS uses this enumeration is used only internally for the formatted
    /// user data elements.
    enum QSType {
        I8_T,         //!< signed 8-bit integer format
        U8_T,         //!< unsigned 8-bit integer format
        I16_T,        //!< signed 16-bit integer format
        U16_T,        //!< unsigned 16-bit integer format
        I32_T,        //!< signed 32-bit integer format
        U32_T,        //!< unsigned 32-bit integer format
        F32_T,        //!< 32-bit floating point format
        F64_T,        //!< 64-bit floating point format
        STR_T,        //!< zero-terminated ASCII string format
        MEM_T,        //!< up to 255-bytes memory block format
        SIG_T,        //!< event signal format
        OBJ_T,        //!< object pointer format
        FUN_T,        //!< function pointer format
        I64_T,        //!< signed 64-bit integer format
        U64_T,        //!< unsigned 64-bit integer format
        U32_HEX_T     //!< unsigned 32-bit integer in hex format
    };

    // private QS attributes .................................................

    uint8_t glbFilter[16];    //!< global on/off QS filter
    void const *smObjFilter;  //!< state machine for QEP local filter
    void const *aoObjFilter;  //!< active object for QF/QK local filter
    void const *mpObjFilter;  //!<  event pool for QF local filter
    void const *eqObjFilter;  //!<  raw queue for QF local filter
    void const *teObjFilter;  //!<  time event for QF local filter
    void const *apObjFilter;  //!<  generic object Application QF local filter

    uint8_t *buf;     //!< pointer to the start of the ring buffer
    QSCtr    end;     //!< offset of the end of the ring buffer
    QSCtr    head;    //!< offset to where next byte will be inserted
    QSCtr    tail;    //!< offset of where next record will be extracted
    QSCtr    used;    //!< number of bytes currently in the ring buffer
    uint8_t  seq;     //!< the record sequence number
    uint8_t  chksum;  //!< the checksum of the current record
    uint8_t  full;    //!< the ring buffer is temporarily full

    uint_fast8_t critNest; //!< critical section nesting level

    static QS priv_;

    static struct QSrxPriv {
        uint8_t *buf; //!< pointer to the start of the ring buffer
        QSCtr end;    //!< offset of the end of the ring buffer
        QSCtr head;   //!< offset to where next byte will be inserted
        QSCtr tail;   //!< offset of where next byte will be extracted
    } rxPriv_;
};

//! Quantum Spy Receive (RX) record types
/// @description
/// This enumeration specifies the record types for the QS receive channel
enum QSpyRxRecords {
    QS_RX_INFO,       //!< query Target info (ver, config, tstamp)
    QS_RX_COMMAND,    //!< execute a user-defined command in the Target
    QS_RX_RESET,      //!< reset the Target
    QS_RX_TICK,       //!< call QF_tick()
    QS_RX_PEEK,       //!< peek Target memory
    QS_RX_POKE,       //!< poke Target memory
    QS_RX_RESERVED7,  //!< reserved for future use
    QS_RX_RESERVED6,  //!< reserved for future use
    QS_RX_RESERVED5,  //!< reserved for future use
    QS_RX_RESERVED4,  //!< reserved for future use
    QS_RX_GLB_FILTER, //!< set global filters in the Target
    QS_RX_LOC_FILTER, //!< set local  filters in the Target
    QS_RX_AO_FILTER,  //!< set local AO filter in the Target
    QS_RX_RESERVED3,  //!< reserved for future use
    QS_RX_RESERVED2,  //!< reserved for future use
    QS_RX_RESERVED1,  //!< reserved for future use
    QS_RX_EVENT       //!< inject an event to the Target (post/publish)
};

} // namespace QP

//****************************************************************************
// Macros for adding QS instrumentation to the client code

//! Initialize the QS facility.
/// @description
/// This macro provides an indirection layer to invoke the QS initialization
/// routine if #Q_SPY is defined, or do nothing if #Q_SPY is not defined.
/// @sa QP::QS::onStartup(), example of setting up a QS filter in
/// QS_FILTER_ON()
#define QS_INIT(arg_)           (QP::QS::onStartup(arg_))

//! Cleanup the QS facility.
/// @description
/// This macro provides an indirection layer to invoke the QS cleanup
/// routine if #Q_SPY is defined, or do nothing if #Q_SPY is not defined.
/// @sa QP::QS::onCleanup()
#define QS_EXIT()               (QP::QS::onCleanup())

//! Global Filter ON for a given record type @p rec.
/// @description
/// This macro provides an indirection layer to call QP::QS::filterOn()
/// if #Q_SPY is defined, or do nothing if #Q_SPY is not defined.
///
/// @usage
/// The following example shows how to use QS filters:
/// @include qs_filter.cpp
#define QS_FILTER_ON(rec_)      (QP::QS::filterOn(static_cast<uint8_t>(rec_)))

//! Global filter OFF for a given record type @p rec.
/// @description
/// This macro provides an indirection layer to call QP::QS::filterOff()
/// if #Q_SPY is defined, or do nothing if #Q_SPY is not defined.
///
/// @sa Example of using QS filters in #QS_FILTER_ON documentation
#define QS_FILTER_OFF(rec_)    (QP::QS::filterOff(static_cast<uint8_t>(rec_)))

//! Local Filter for a given state machine object @p obj_.
/// @description
/// This macro sets up the state machine object local filter if #Q_SPY is
/// defined, or does nothing if #Q_SPY is not defined. The argument @p obj_
/// is the pointer to the state machine object that you want to monitor.@n
/// @n
/// The state machine object filter allows you to filter QS records pertaining
/// only to a given state machine object. With this filter disabled, QS will
/// output records from all state machines in your application. The object
/// filter is disabled by setting the state machine pointer to NULL.@n
/// @n
/// The state machine filter affects the following QS records:
/// QP::QS_QEP_STATE_ENTRY, QP::QS_QEP_STATE_EXIT, QP::QS_QEP_STATE_INIT,
/// QP::QS_QEP_INTERN_TRAN, QP::QS_QEP_TRAN, and QP::QS_QEP_IGNORED.
///
/// @note
/// Because active objects are state machines at the same time, the state
/// machine filter (QS_FILTER_SM_OBJ) pertains to active objects as well.
/// However, the state machine filter is more general, because it can be
/// used only for state machines that are not active objects, such as
/// "Orthogonal Components".
///
/// @sa Example of using QS filters in #QS_FILTER_ON documentation
#define QS_FILTER_SM_OBJ(obj_)  (QP::QS::priv_.smObjFilter = (obj_))

//! Local Filter for a given active object @p obj_.
/// @description
/// This macro sets up the active object local filter if #Q_SPY is defined,
/// or does nothing if #Q_SPY is not defined. The argument @p obj_ is the
/// pointer to the active object that you want to monitor.@n
/// @n
/// The active object filter allows you to filter QS records pertaining
/// only to a given active object. With this filter disabled, QS will
/// output records from all active objects in your application. The object
/// filter is disabled by setting the active object pointer @p obj_ to NULL.@n
/// @n
/// The active object filter affects the following QS records:
/// QP::QS_QF_ACTIVE_ADD, QP::QS_QF_ACTIVE_REMOVE, QP::QS_QF_ACTIVE_SUBSCRIBE,
/// QP::QS_QF_ACTIVE_UNSUBSCRIBE, QP::QS_QF_ACTIVE_POST_FIFO,
/// QP::QS_QF_ACTIVE_POST_LIFO, ::QS_QF_ACTIVE_GET, and
/// QP::QS_QF_ACTIVE_GET_LAST.
///
/// @sa Example of using QS filters in #QS_FILTER_ON documentation
#define QS_FILTER_AO_OBJ(obj_)  (QP::QS::priv_.aoObjFilter = (obj_))

//! Local Filter for a given memory pool object @p obj_.
/// @description
/// This macro sets up the memory pool object local filter if #Q_SPY is
/// defined, or does nothing if #Q_SPY is not defined. The argument @p obj_
/// is the pointer to the memory buffer used during the initialization of the
/// event pool with QP::QF::poolInit().@n
/// @n
/// The memory pool filter allows you to filter QS records pertaining
/// only to a given memory pool. With this filter disabled, QS will
/// output records from all memory pools in your application. The object
/// filter is disabled by setting the memory pool pointer @p obj_ to NULL.@n
/// @n
/// The memory pool filter affects the following QS records:
/// QP::QS_QF_MPOOL_INIT, QP::QS_QF_MPOOL_GET, and QP::QS_QF_MPOOL_PUT.
///
/// @sa Example of using QS filters in QS_FILTER_ON() documentation
#define QS_FILTER_MP_OBJ(obj_)  (QP::QS::priv_.mpObjFilter = (obj_))

//! Filter for a given event queue object @p obj_.
/// @description
/// This macro sets up the event queue object filter if #Q_SPY is defined,
/// or does nothing if #Q_SPY is not defined. The argument @p obj_ is the
/// pointer to the "raw" thread-safe queue object you want to monitor.@n
/// @n
/// The event queue filter allows you to filter QS records pertaining
/// only to a given event queue. With this filter disabled, QS will
/// output records from all event queues in your application. The object
/// filter is disabled by setting the event queue pointer @p obj_ to NULL.@n
/// @n
/// The event queue filter affects the following QS records:
/// QP::QS_QF_EQUEUE_INIT, QP::QS_QF_EQUEUE_POST_FIFO,
/// QP::QS_QF_EQUEUE_POST_LIFO, QP::QS_QF_EQUEUE_GET, and
/// QP::QS_QF_EQUEUE_GET_LAST.
///
/// @sa Example of using QS filters in #QS_FILTER_ON documentation
#define QS_FILTER_EQ_OBJ(obj_)  (QP::QS::priv_.eqObjFilter = (obj_))

//! Local Filter for a given time event object @p obj_.
/// @description
/// This macro sets up the time event object local filter if #Q_SPY is
/// defined, or does nothing if #Q_SPY is not defined. The argument @p obj_
/// is the pointer to the time event object you want to monitor.@n
/// @n
/// The time event filter allows you to filter QS records pertaining
/// only to a given time event. With this filter disabled, QS will
/// output records from all time events in your application. The object
/// filter is disabled by setting the time event pointer @p obj_ to NULL.@n
/// @n
/// The time event filter affects the following QS records:
/// QP::QS_QF_TIMEEVT_ARM, QP::QS_QF_TIMEEVT_AUTO_DISARM,
/// QP::QS_QF_TIMEEVT_DISARM_ATTEMPT, QP::QS_QF_TIMEEVT_DISARM,
/// QP::QS_QF_TIMEEVT_REARM, and QP::QS_QF_TIMEEVT_POST.
///
/// @sa Example of using QS filters in #QS_FILTER_ON documentation
#define QS_FILTER_TE_OBJ(obj_)  (QP::QS::priv_.teObjFilter = (obj_))

//! Local Filter for a generic application object @p obj_.
/// @description
/// This macro sets up the local application object filter if #Q_SPY is
/// defined, or does nothing if #Q_SPY is not defined. The argument @p obj_
/// is the pointer to the application object you want to monitor.@n
/// @n
/// The application object filter allows you to filter QS records pertaining
/// only to a given application object. With this filter disabled, QS will
/// output records from all application-records enabled by the global filter.
/// The local filter is disabled by setting the time event pointer @p obj_
/// to NULL.
///
/// @sa Example of using QS filters in #QS_FILTER_ON documentation
#define QS_FILTER_AP_OBJ(obj_)  (QP::QS::priv_.apObjFilter = (obj_))

//****************************************************************************
// Macros to generate user QS records

//! helper macro for checking the global QS filter
#define QS_GLB_FILTER_(rec_) \
    ((static_cast<uint_fast8_t>(QP::QS::priv_.glbFilter[ \
            static_cast<uint8_t>(rec_) >> 3]) \
      & static_cast<uint_fast8_t>(static_cast<uint8_t>(1U << \
               (static_cast<uint8_t>(rec_) & static_cast<uint8_t>(7))))) \
             != static_cast<uint_fast8_t>(0))

//! Begin a QS user record without entering critical section.
#define QS_BEGIN_NOCRIT(rec_, obj_) \
    if (QS_GLB_FILTER_(rec_) \
        && ((QP::QS::priv_.apObjFilter == static_cast<void *>(0)) \
            || (QP::QS::priv_.apObjFilter == (obj_)))) \
    { \
        QP::QS::beginRec(static_cast<uint_fast8_t>(rec_)); \
        QS_TIME_();

//! End a QS user record without exiting critical section.
#define QS_END_NOCRIT() \
    QS_END_NOCRIT_()

// QS-specific critical section ..............................................
#ifdef QS_CRIT_ENTRY // separate QS critical section defined?

#ifndef QS_CRIT_STAT_TYPE
    #define QS_CRIT_STAT_
    #define QS_CRIT_ENTRY_()    QS_CRIT_ENTRY(dummy)
    #define QS_CRIT_EXIT_()     QS_CRIT_EXIT(dummy)
#else
    #define QS_CRIT_STAT_       QS_CRIT_STAT_TYPE critStat_;
    #define QS_CRIT_ENTRY_()    QS_CRIT_ENTRY(critStat_)
    #define QS_CRIT_EXIT_()     QS_CRIT_EXIT(critStat_)
#endif // QS_CRIT_ENTRY

#else // separate QS critical section not defined--use the QF definition
#ifndef QF_CRIT_STAT_TYPE
    //! This is an internal macro for defining the critical section
    //! status type.
    /// @description
    /// The purpose of this macro is to enable writing the same code for the
    /// case when critical section status type is defined and when it is not.
    /// If the macro #QF_CRIT_STAT_TYPE is defined, this internal macro
    /// provides the definition of the critical section status variable.
    /// Otherwise this macro is empty.
    /// @sa #QF_CRIT_STAT_TYPE
    #define QS_CRIT_STAT_

    //! This is an internal macro for entering a critical section.
    /// @description
    /// The purpose of this macro is to enable writing the same code for the
    /// case when critical section status type is defined and when it is not.
    /// If the macro #QF_CRIT_STAT_TYPE is defined, this internal macro
    /// invokes #QF_CRIT_ENTRY passing the key variable as the parameter.
    /// Otherwise #QF_CRIT_ENTRY is invoked with a dummy parameter.
    /// @sa #QF_CRIT_ENTRY
    #define QS_CRIT_ENTRY_()    QF_CRIT_ENTRY(dummy)

    //! This is an internal macro for exiting a critical section.
    /// @description
    /// The purpose of this macro is to enable writing the same code for the
    /// case when critical section status type is defined and when it is not.
    /// If the macro #QF_CRIT_STAT_TYPE is defined, this internal macro
    /// invokes #QF_CRIT_EXIT passing the key variable as the parameter.
    /// Otherwise #QF_CRIT_EXIT is invoked with a dummy parameter.
    /// @sa #QF_CRIT_EXIT
    #define QS_CRIT_EXIT_()     QF_CRIT_EXIT(dummy)

#else
    #define QS_CRIT_STAT_       QF_CRIT_STAT_TYPE critStat_;
    #define QS_CRIT_ENTRY_()    QF_CRIT_ENTRY(critStat_)
    #define QS_CRIT_EXIT_()     QF_CRIT_EXIT(critStat_)
#endif // QF_CRIT_STAT_TYPE

#endif // QS_CRIT_ENTRY

//! Begin a user QS record with entering critical section.
/// @description
/// The following example shows how to build a user QS record using the
/// macros #QS_BEGIN, #QS_END, and the formatted output macros: #QS_U8 and
/// #QS_STR.
///
/// @note
/// Must always be used in pair with #QS_END
///
/// @include qs_user.cpp
#define QS_BEGIN(rec_, obj_) \
    if (QS_GLB_FILTER_(rec_) \
        && ((QP::QS::priv_.apObjFilter == static_cast<void *>(0)) \
            || (QP::QS::priv_.apObjFilter == (obj_)))) \
    { \
        QS_CRIT_STAT_ \
        QS_CRIT_ENTRY_(); \
        QP::QS::beginRec(static_cast<uint_fast8_t>(rec_)); \
        QS_TIME_();

//! End a QS record with exiting critical section.
/// @sa example for #QS_BEGIN
/// @note Must always be used in pair with #QS_BEGIN
#define QS_END() \
    QS_END_()

//****************************************************************************
// Macros for use inside other macros or internally in the QP code

//! Internal QS macro to begin a QS record with entering critical section.
/// @note
/// This macro is intended to use only inside QP components and NOT
/// at the application level. @sa #QS_BEGIN
#define QS_BEGIN_(rec_, objFilter_, obj_) \
    if (QS_GLB_FILTER_(rec_) \
        && (((objFilter_) == static_cast<void *>(0)) \
            || ((objFilter_) == (obj_)))) \
    { \
        QS_CRIT_ENTRY_(); \
        QP::QS::beginRec(static_cast<uint_fast8_t>(rec_));

//! Internal QS macro to end a QS record with exiting critical section.
/// @note
/// This macro is intended to use only inside QP components and NOT
/// at the application level. @sa #QS_END
#define QS_END_() \
        QP::QS::endRec(); \
        QS_CRIT_EXIT_(); \
    }

//! Internal QS macro to begin a QS record without entering critical section.
/// @note
/// This macro is intended to use only inside QP components and NOT
/// at the application level. @sa #QS_BEGIN_NOCRIT
#define QS_BEGIN_NOCRIT_(rec_, objFilter_, obj_) \
    if (QS_GLB_FILTER_(rec_) \
        && (((objFilter_) == static_cast<void *>(0)) \
            || ((objFilter_) == (obj_)))) \
    { \
        QP::QS::beginRec(static_cast<uint_fast8_t>(rec_));

//! Internal QS macro to end a QS record without exiting critical section.
/// @note
/// This macro is intended to use only inside QP components and NOT
/// at the application level. @sa #QS_END_NOCRIT
#define QS_END_NOCRIT_() \
        QP::QS::endRec(); \
    }

#if (Q_SIGNAL_SIZE == 1)
    //! Internal QS macro to output an unformatted event signal data element
    /// @note
    /// The size of the pointer depends on the macro #Q_SIGNAL_SIZE.
    #define QS_SIG_(sig_)    (QP::QS::u8_(static_cast<uint8_t>(sig_)))
#elif (Q_SIGNAL_SIZE == 2)
    #define QS_SIG_(sig_)    (QP::QS::u16_(static_cast<uint16_t>(sig_)))
#elif (Q_SIGNAL_SIZE == 4)
    #define QS_SIG_(sig_)    (QP::QS::u32_(static_cast<uint32_t>(sig_)))
#endif

//! Internal QS macro to output an unformatted uint8_t data element
#define QS_U8_(data_)        (QP::QS::u8_(static_cast<uint8_t>(data_)))

//! Internal QS macro to output 2 unformatted uint8_t data elements
#define QS_2U8_(data1_, data2_) (QP::QS::u8u8_((data1_), (data2_)))

//! Internal QS macro to output an unformatted uint16_t data element
#define QS_U16_(data_)       (QP::QS::u16_(static_cast<uint16_t>(data_)))

//! Internal QS macro to output an unformatted uint32_t data element
#define QS_U32_(data_)       (QP::QS::u32_(static_cast<uint32_t>(data_)))

#if (QS_OBJ_PTR_SIZE == 1)
    #define QS_OBJ_(obj_)    (QP::QS::u8_(reinterpret_cast<uint8_t>(obj_)))
#elif (QS_OBJ_PTR_SIZE == 2)
    #define QS_OBJ_(obj_)    (QP::QS::u16_(reinterpret_cast<uint16_t>(obj_)))
#elif (QS_OBJ_PTR_SIZE == 4)
    #define QS_OBJ_(obj_)    (QP::QS::u32_(reinterpret_cast<uint32_t>(obj_)))
#elif (QS_OBJ_PTR_SIZE == 8)
    #define QS_OBJ_(obj_)    (QP::QS::u64_(reinterpret_cast<uint64_t>(obj_)))
#else

    //! Internal QS macro to output an unformatted object pointer
    //! data element
    /// @note
    /// The size of the pointer depends on the macro #QS_OBJ_PTR_SIZE.
    /// If the size is not defined the size of pointer is assumed 4-bytes.
    #define QS_OBJ_(obj_)    (QP::QS::u32_(reinterpret_cast<uint32_t>(obj_)))
#endif

#if (QS_FUN_PTR_SIZE == 1)
    #define QS_FUN_(fun_)    (QP::QS::u8_(reinterpret_cast<uint8_t>(fun_)))
#elif (QS_FUN_PTR_SIZE == 2)
    #define QS_FUN_(fun_)    (QP::QS::u16_(reinterpret_cast<uint16_t>(fun_)))
#elif (QS_FUN_PTR_SIZE == 4)
    #define QS_FUN_(fun_)    (QP::QS::u32_(reinterpret_cast<uint32_t>(fun_)))
#elif (QS_FUN_PTR_SIZE == 8)
    #define QS_FUN_(fun_)    (QP::QS::u64_(reinterpret_cast<uint64_t>(fun_)))
#else

    //! Internal QS macro to output an unformatted function pointer
    //! data element
    /// @note
    /// The size of the pointer depends on the macro #QS_FUN_PTR_SIZE.
    /// If the size is not defined the size of pointer is assumed 4-bytes.
    #define QS_FUN_(fun_)    (QP::QS::u32_(reinterpret_cast<uint32_t>(fun_)))
#endif

//! Internal QS macro to output a zero-terminated ASCII string
/// data element
#define QS_STR_(msg_)        (QP::QS::str_(msg_))

//****************************************************************************
// Macros for use in the client code

//! Output formatted int8_t to the QS record
#define QS_I8(width_, data_) \
    (QP::QS::u8(static_cast<uint8_t>((static_cast<uint8_t>((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::I8_T)), (data_)))

//! Output formatted uint8_t to the QS record
#define QS_U8(width_, data_) \
    (QP::QS::u8(static_cast<uint8_t>((static_cast<uint8_t>((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::U8_T)), (data_)))

//! Output formatted int16_t to the QS record
#define QS_I16(width_, data_) \
    (QP::QS::u16(static_cast<uint8_t>((static_cast<uint8_t>((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::I16_T)), (data_)))

//! Output formatted uint16_t to the QS record
#define QS_U16(width_, data_) \
    (QP::QS::u16(static_cast<uint8_t>((((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::U16_T)), (data_)))

//! Output formatted int32_t to the QS record
#define QS_I32(width_, data_) \
    (QP::QS::u32(static_cast<uint8_t>((static_cast<uint8_t>((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::I32_T)), (data_)))

//! Output formatted uint32_t to the QS record
#define QS_U32(width_, data_) \
    (QP::QS::u32(static_cast<uint8_t>((static_cast<uint8_t>((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::U32_T)), (data_)))

//! Output formatted 32-bit floating point number to the QS record
#define QS_F32(width_, data_) \
    (QP::QS::f32(static_cast<uint8_t>((static_cast<uint8_t>((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::F32_T)), (data_)))

//! Output formatted 64-bit floating point number to the QS record
#define QS_F64(width_, data_) \
    (QP::QS::f64(static_cast<uint8_t>((static_cast<uint8_t>((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::F64_T)), (data_)))

//! Output formatted int64_t to the QS record
#define QS_I64(width_, data_) \
    (QP::QS::u64(static_cast<uint8_t>((static_cast<uint8_t>((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::I64_T)), (data_)))

//! Output formatted uint64_t to the QS record
#define QS_U64(width_, data_) \
    (QP::QS::u64(static_cast<uint8_t>((static_cast<uint8_t>((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::U64_T)), (data_)))

//! Output formatted uint32_t to the QS record
#define QS_U32_HEX(width_, data_) \
    (QP::QS::u32(static_cast<uint8_t>((static_cast<uint8_t>((width_) << 4)) \
        | static_cast<uint8_t>(QP::QS::U32_HEX_T)), (data_)))

//! Output formatted zero-terminated ASCII string to the QS record
#define QS_STR(str_)            (QP::QS::str(str_))

//! Output formatted memory block of up to 255 bytes to the QS record
#define QS_MEM(mem_, size_)     (QP::QS::mem((mem_), (size_)))

#if (QS_OBJ_PTR_SIZE == 1)
    #define QS_OBJ(obj_)        (QP::QS::u8(QS_OBJ_T, (uint8_t)(obj_)))
#elif (QS_OBJ_PTR_SIZE == 2)
    #define QS_OBJ(obj_)        (QP::QS::u16(QS_OBJ_T, (uint16_t)(obj_)))
#elif (QS_OBJ_PTR_SIZE == 4)
    #define QS_OBJ(obj_)        (QP::QS::u32(QS_OBJ_T, (uint32_t)(obj_)))
#elif (QS_OBJ_PTR_SIZE == 8)
    #define QS_OBJ(obj_)        (QP::QS::u64(QS_OBJ_T, (uint64_t)(obj_)))
#else
    //! Output formatted object pointer to the QS record
    #define QS_OBJ(obj_)        (QP::QS::u32(QS_OBJ_T, (uint32_t)(obj_)))
#endif

#if (QS_FUN_PTR_SIZE == 1)
    #define QS_FUN(fun_)        (QP::QS::u8(QS_FUN_T, (uint8_t)(fun_)))
#elif (QS_FUN_PTR_SIZE == 2)
    #define QS_FUN(fun_)        (QP::QS::u16(QS_FUN_T, (uint16_t)(fun_)))
#elif (QS_FUN_PTR_SIZE == 4)
    #define QS_FUN(fun_)        (QP::QS::u32(QS_FUN_T, (uint32_t)(fun_)))
#elif (QS_FUN_PTR_SIZE == 8)
    #define QS_FUN(fun_)        (QP::QS::u64(QS_FUN_T, (uint64_t)(fun_)))
#else
    //! Output formatted function pointer to the QS record
    #define QS_FUN(fun_)        (QP::QS::u32(QS_FUN_T, (uint32_t)(fun_)))
#endif

//! Output signal dictionary record
///
/// A signal dictionary record associates the numerical value of the signal
/// and the binary address of the state machine that consumes that signal
/// with the human-readable name of the signal.
///
/// Providing a signal dictionary QS record can vastly improve readability of
/// the QS log, because instead of dealing with cryptic machine addresses the
/// QSpy host utility can display human-readable names.
///
/// A signal dictionary entry is associated with both the signal value @p sig_
/// and the state machine @p obj_, because signals are required to be unique
/// only within a given state machine and therefore the same numerical values
/// can represent different signals in different state machines.
///
/// For the "global" signals that have the same meaning in all state machines
/// (such as globally published signals), you can specify a signal dictionary
/// entry with the @p obj_ parameter set to NULL.
///
/// The following example shows the definition of signal dictionary entries
/// in the initial transition of the Table active object. Please note that
/// signals HUNGRY_SIG and DONE_SIG are associated with the Table state
/// machine only ("me" @p obj_ pointer). The EAT_SIG signal, on the other
/// hand, is global (0 @p obj_ pointer):
/// @include qs_sigDic.cpp
///
/// @note The QSpy log utility must capture the signal dictionary record
/// in order to use the human-readable information. You need to connect to
/// the target before the dictionary entries have been transmitted.
///
/// The following QSpy log example shows the signal dictionary records
/// generated from the Table initial transition and subsequent records that
/// show human-readable names of the signals:
/// @include qs_sigLog.txt
///
/// The following QSpy log example shows the same sequence of records, but
/// with dictionary records removed. The human-readable signal names are not
/// available.
/// @include qs_sigLog0.txt
#define QS_SIG_DICTIONARY(sig_, obj_) do { \
    if (QS_GLB_FILTER_(QP::QS_SIG_DICT)) { \
        static char_t const sig_name_[] = #sig_; \
        QP::QS::sig_dict((sig_), (obj_), &sig_name_[0]); \
    } \
} while (false)

//! Output object dictionary record
///
/// An object dictionary record associates the binary address of an object
/// in the target's memory with the human-readable name of the object.
///
/// Providing an object dictionary QS record can vastly improve readability of
/// the QS log, because instead of dealing with cryptic machine addresses the
/// QSpy host utility can display human-readable object names.
///
/// The following example shows the definition of object dictionary entry
/// for the Table active object:
/// @include qs_objDic.cpp
#define QS_OBJ_DICTIONARY(obj_) do { \
    if (QS_GLB_FILTER_(QP::QS_OBJ_DICT)) { \
        static char_t const obj_name_[] = #obj_; \
        QP::QS::obj_dict((obj_), &obj_name_[0]); \
    } \
} while (false)

//! Output function dictionary record
///
/// A function dictionary record associates the binary address of a function
/// in the target's memory with the human-readable name of the function.
///
/// Providing a function dictionary QS record can vastly improve readability
/// of the QS log, because instead of dealing with cryptic machine addresses
/// the QSpy host utility can display human-readable function names.
///
/// The example from #QS_SIG_DICTIONARY shows the definition of a function
/// dictionary.
#define QS_FUN_DICTIONARY(fun_) do { \
    if (QS_GLB_FILTER_(QP::QS_FUN_DICT)) { \
        static char_t const fun_name_[] = #fun_; \
        QP::QS::fun_dict((void (*)(void))(fun_), &fun_name_[0]); \
    } \
} while (false)

//! Output user QS record dictionary record
///
/// A user QS record dictionary record associates the numerical value of a
/// user record with the human-readable identifier.
#define QS_USR_DICTIONARY(rec_) do { \
    if (QS_GLB_FILTER_(QP::QS_USR_DICT)) { \
        static char_t const usr_name_[] = #rec_; \
        QP::QS::usr_dict((rec_), &usr_name_[0]); \
    } \
} while (false)

//! Output the assertion failure trace record
#define QS_ASSERTION(module_, loc_, delay_) do { \
    QS_BEGIN_NOCRIT_(QP::QS_ASSERT_FAIL, \
        static_cast<void *>(0), static_cast<void *>(0)) \
        QS_TIME_(); \
        QS_U16_(static_cast<uint16_t>(loc_)); \
        QS_STR_(module_); \
    QS_END_NOCRIT_() \
    QP::QS::onFlush(); \
    for (uint32_t volatile delay_ctr_ = (delay_);  \
         delay_ctr_ > static_cast<uint32_t>(0); --delay_ctr_) \
    {} \
} while (false)

//! Flush the QS trace data to the host
///
/// This macro invokes the QP::QS::flush() platform-dependent callback
/// function to flush the QS trace buffer to the host. The function
/// typically busy-waits until all the data in the buffer is sent to
/// the host. This is acceptable only in the initial transient.
#define QS_FLUSH()   (QP::QS::onFlush())

//! Output the critical section entry record
#define QF_QS_CRIT_ENTRY() \
    QS_BEGIN_NOCRIT_(QP::QS_QF_CRIT_ENTRY, \
        static_cast<void *>(0), static_cast<void *>(0)) \
        QS_TIME_(); \
        QS_U8_((uint8_t)(++QS::priv_.critNest)); \
    QS_END_NOCRIT_()

//! Output the critical section exit record
#define QF_QS_CRIT_EXIT() \
    QS_BEGIN_NOCRIT_(QP::QS_QF_CRIT_EXIT, \
        static_cast<void *>(0), static_cast<void *>(0)) \
        QS_TIME_(); \
        QS_U8_((uint8_t)(QS::priv_.critNest--)); \
    QS_END_NOCRIT_()

//! Output the interrupt entry record
#define QF_QS_ISR_ENTRY(isrnest_, prio_) \
    QS_BEGIN_NOCRIT_(QP::QS_QF_ISR_ENTRY, \
        static_cast<void *>(0), static_cast<void *>(0)) \
        QS_TIME_(); \
        QS_U8_(isrnest_); \
        QS_U8_(prio_); \
    QS_END_NOCRIT_()

//! Output the interrupt exit record
#define QF_QS_ISR_EXIT(isrnest_, prio_) \
    QS_BEGIN_NOCRIT_(QP::QS_QF_ISR_EXIT,  \
        static_cast<void *>(0), static_cast<void *>(0)) \
        QS_TIME_(); \
        QS_U8_(isrnest_); \
        QS_U8_(prio_); \
    QS_END_NOCRIT_()

//! Execute an action that is only necessary for QS output
#define QF_QS_ACTION(act_)      (act_)

#endif // qs_h

redpajama_set_name: RedPajamaGithub


text:
BLOGPEDIA
How long is a term in the house of representatives
December 22, 2022 by BlogPedia
Answer: Two years.
Members of the House of Representatives (the lower chamber of Congress) are elected based on the state population according to the national census, which means that the number of members in the House may vary. And while these members shall a serve two-year term (They are up for reelection every two years), the members of the Senate (The upper chamber) serve for a six-year term.
Categories Umum Post navigation
How does the ozone layer help protect life on earth
How much does a 2 pound coin weigh in grams
The downward sloping demand curve for a monopolistically competitive firm
How did the bracero program benefit both mexicans and americans
Is your karyotype that of a male or a female
The term used to describe a disease causing microorganism is
Fungsi iringan dalam tari adalah
© 2023 BLOGPEDIA. All Rights Reserved.

redpajama_set_name: RedPajamaCommonCrawl


To mark the 20th anniversary of the death of Diana, Princess of Wales, her sons, Princes William and Harry, have spoken candidly about their mother for the first time.
In Diana, Our Mother: Her Life and Legacy, which aired on ITV and HBO on Monday night, William and Harry shared some of their fondest memories from their childhood, and helped the world to better understand the late Princess. Here are some of the things we learned from their personal interviews about the woman who touched the lives of so many people.
Harry recalled how his mother was "a total kid through and through" and described her as "one of the naughtiest parents". He added that one of the mottos she lived by was "'you can be as naughty as you want, don't get caught.'" William has a similar memory. "She was very informal and really enjoyed the laughter and the fun," William said. "She had a very cheeky sense of humour... she was very jolly and really enjoyed her time making a lot of mischief. But, she understood that there was a real life outside of palace walls."
Along with the moment Diana invited three supermodels over to Kensington Palace to embarrass a young Prince William, her oldest son remembers her "loving the rudest cards you can imagine". He added: "I would be at school and get a card from my mother – usually she had found something very embarrassing, but had written something very nice inside."
"She would just engulf you and squeeze you as tight as possible…. Even talking about it now, I can feel the hugs that she used to give us, and I miss that, I miss that feeling, I miss having that mother to be able to give you those hugs and give you that compassion that I think everybody needs," Harry recalled. Describing his mother's loving nature, he added: "It was that love that even if she was on the other side of the room, as a son you could feel it."
Despite their royal titles, Diana did her best to give William and Harry a somewhat normal childhood. "She prepared us well for life in the best way she could, not obviously knowing what was going to happen," said William. Harry said his mother made a decision "to ensure that both of us had as normal lives as possible" and remembered her "taking us for a burger every now and then or sneaking us into the cinema, or driving through the country lanes with the roof down on her old-school BMW listening to Enya... all of that was part of her being a mum."
Both William and Harry revealed that their last conversation with Princess Diana was a "desperately rushed" phone call. It took place while the brothers were having a "very good time" with their cousins at Balmoral, the Queen's home in Scotland.
"Harry and I were in a desperate rush to say goodbye, you know 'see you later'... if I'd known now obviously what was going to happen, I wouldn't have been so blasé about it and everything else," William said.
Prince Harry also recalled the moment he last spoke to his mother: "It was her speaking from Paris, I can't really necessarily remember what I said but all I do remember is probably regretting for the rest of my life how short the phone call was."
As well as decorating his home with pictures of his late mother, William said he talks about her "constantly" with Prince George and Princess Charlotte. "It's hard because obviously Catherine didn't know her, so she cannot really provide that - that level of detail," he revealed. "So, I do [when] regularly putting George or Charlotte to bed, talk about her and just try and remind them that there are two grandmothers, there were two grandmothers in their lives, and so it's important that they know who she was and that she existed."
As for what kind of grandmother William thinks Diana be if she were still around today? "She'd love the children to bits, but she'd be an absolute nightmare," he added. "She'd come and go and she'd come in probably at bath time, cause an amazing amount of scene, bubbles everywhere, bathwater all over the place and - and then leave."


Yukon RCMP are searching for a Whitehorse man last seen leaving his residence Wednesday evening.
William "Willy" Everett, 38, was last seen at 8 p.m. on April 10, Yukon RCMP said in a tweet Thursday morning.
Anyone with information is asked to contact the RCMP at 667-5555.


Our Mine Sieving Mesh is good in quality and competitive in price. We manufacture Mine Sieving Mesh and supply OEM, ODM service according to your requirement.
1. Material:High Manganese Steel,Low carbon steel,Spring steel, Stainless Steel Wire,etc.
3. Feature:Welded Wedge Wire Mesh is a new type screen mesh for mine sieving. It`s made through high-tech welding machine and strictly produced by our workers. It has the character of High strength, Corrosion resistant.
4. Application:Widely uses in mine, coal, oil, fertilizer, grain, salt, and environmental protection industries.For filtering of liquid, the powder material. On petroleum, chemical industry, metallurgy, mine, medicine purifies, the drilling mud purifies the equipment in particular the important fitting. It`s also widely used for Trench Cover.
Hebei Dongshengyuan Trading Co.,ltd is in charge of export business. The two company as a whole, be short of one cannot.
Hebei Dongshengyuan Wire Mesh Factory is a full service manufacturer of wire, Woven Wire Mesh and wire processed products. Started since 1985, Dongshengyuan can supply good quality Stainless Steel Wire Mesh, Chain Link Fence, vibrating screen wire mesh, fiberglass mesh, U Type Wire, Pvc Coated Wire, wire mesh fences, expanded metal, perforated metal and various wire products.
Looking for ideal Sieving Wire Mesh Manufacturer & supplier ? We have a wide selection at great prices to help you get creative. All the Mine Sieving Wire Mesh are quality guaranteed. We are China Origin Factory of Hot Sale Mine Sieving Mesh. If you have any question, please feel free to contact us.


text:
Q: Update xml elemnt inside function. How to pass elemnt inside function showOrUpdate($day->Date, $_POST['Date'])

and function:
function showOrUpdate($element, $value)
{
    if (isset($value) && !empty($value))
    {
        $element = $value;
    }

    return $element;
}

but problem is that $element is not passed as element but is passed as readable value and is then for example 2013-08-22 and not $day->Date.
but I want to pass it in function and inside function update value and later save it.
like:
$day->Date =  $value;

Is this possible?

A: What you are referring to is commonly know as pass by reference. When defining a function use the '&' sign for variables that you want to pass by reference.
function showOrUpdate(&$element, $value) {
  if (isset($value) && !empty($value))
    $element = $value;
}

This would update the original value of $element. Also, in this situation you don't need to use a return statement as the variable has already been modified within the function itself.

redpajama_set_name: RedPajamaStackExchange


text:
EuroComics
Library of American Comics
New and Upcoming
Sign up to receive special announcements, exclusive offers, and flash sales notifications!!!
Alex Toth, Dick Tracy, Donald Duck, Spider-Man, Steve Canyon, Wonder Woman
Mile Markers on the Road to 200: Reaching the Sesquicentennial
Posted on January 21, 2020 February 18, 2020 by Bruce Canwell
Continuing our review of the first two hundred LOAC books, which began here and continued right here, what follows is a look at our one hundred first to one hundred fiftieth releases …
… And here are my strongest recollections about these twenty-six months of LOAC history. As with previous installments of this series, other LOACers may recall some of these events differently, or have retained details that have slipped past me through the years, but this is the way I remember it.
The big new additions to the line during this period were the Spider-Man newspaper strip and many of the Disney strips (though Spidey's home, Marvel Entertainment, is now part of Disney, at the time Web-Head's comic strip launched Marvel was still an independent company, so from my perspective these were two additions, not just one giant "Disney deal"). Fully twenty percent of our releases in this period were either collections from the Disney vaults or tales of the oft-woebegone wall-crawler.
Having come to greatly admire Al Taliaferro and Bob Karp's Donald Duck strip through the Gladstone era of Disney comic book reprints, I was mighty pleased to be adding "the Duck" to the stable of characters whose newspaper escapades LOAC was bringing to modern-day audiences. Taliaferro's lively line was just perfect for rendering Donald and his world, and reading each one of these books brought me back to those Gladstone days of yore, as I rediscovered what I liked about the Donald Duck strip, even as I absorbed a bigger dose of it than I ever had before.
As to Spidey, well — I read issues # 53 and 54 of Amazing Spider-Man as a boy in my hometown barber shop, and started reading the series regularly with issues # 63, so editing and writing text for our Spidey newspaper series was a treat in and of itself. The cherry on that sundae, however, was having the opportunity to seek to add depth to our series by once again interviewing John Romita Sr. (always gracious, always forthright in his recollections, always engaging and entertaining — I can never say enough good things about JR Sr., as he came to be known). My attempts to reach Stan Lee in time for our first volume were in vain — the e-mail address I had been given yielded no results, despite multiple requests — so I had to find another route to "The Man," which took longer than I expected, though I eventually spoke with him for almost thirty minutes and was able to quote from our discussion in our third Spider-Man release. In between I spoke with Stan's brother, Larry Lieber, about his first stint on the strip following Romita's departure. Larry and I talked for about ninety minutes, and it was a thoroughly wonderful discussion. He was honest about his own career and history in the business, he was very open about his own goals and aspirations, not just in the past, but for the future, too. It was terrific, spending time conversing with him, just as it was informative to speak with Jim Shooter in support of Spidey Volume 4. LOAC's Amazing Spider-Man: The Ultimate Newspaper Comics Collection allowed me to reach back to some of the oldest of my fannish roots, to connect with some of the talents who were responsible for them, to learn about their work and their creative processes, and even to thank them for the many hours of entertainment they gave me, and thousands of others.
Of course, I found more than Disney and human arachnids to be excited about amongst these fifty books! Our collection of Alex Raymond's Secret Agent X-9 gave me the opportunity to write about not just Raymond, but one of my very favorite authors, Dashiell Hammett. And eighteen years after adding to the Dark Knight's history (and the original Boy Wonder's, too!) by collaborating with artist Lee Weeks on Batman: The Gauntlet, I got to dip a toe back in DC waters by writing the text feature for our Wonder Woman newspaper strip one-shot. Having read some of the comic book WW stories that were "refried" for the strip, it was interesting to compare and contrast how the same story unfolded when told in two different formats.
I was proud of two scholarly releases from this period, one I had very little to do with, the other with which I was deeply involved. Michael Kahn and Richard West brought Puck: What Fools These Mortals Be to us as a largely-complete package (and what a package it is!), whereas Dean and a "Murderer's Row" of scholars including Ron Goulart, Brian Walker, Paul Tumey, and Jared Gardner collaborated with me to create a celebration of King Features Syndicate's one-hundred-year anniversary in the lavish King of the Comics, which was briefly featured as part of the CBS Sunday Morning story on the KFS centennial. Very, very cool!
We produced four more LOAC Essentials (our second Baron Bean, Hal Foster's original Tarzan, a year of Krazy Kat dailies, and Tim Tyler's Luck during the period when Alex Raymond was ghosting for Lyman Young). We wrapped up Batman and did a beautiful second "Champagne Edition" Polly and Her Pals, while bringing Alex Toth's Bravo for Adventure out in hardcover. We even followed our well-received Star Trek newspaper comics mini-series with the first two (of three) books presenting the Trek UK comics. Yes, we had some internal discussion about publishing British comics under the Library of American Comics banner, but we ultimately decided that Star Trek is such a uniquely American concept and property that it allowed us to extend our reach across the Atlantic to present this rare material to our audience.
And amidst it all, our ongoing series kept chugging along — during this period, we put out five Dick Tracys, three Little Orphan Annies and three Steve Canyons, two Li'l Abners, and two Rip Kirbys. Times change with the passing of the years, but the classics remain classic!
There's one more lap to run on this trip through our first two hundred releases. Watch this space soon for this series's fourth and final installment!
This entry was posted in Alex Toth, Dick Tracy, Donald Duck, Spider-Man, Steve Canyon, Wonder Woman and tagged LOAC Road to 200.
Bruce Canwell
Mile Markers on the Road to 200: #s 51-100
Mile Markers on the Road to 200: LOAC's Bicentennial Biggies
A Fantasy Comics Page for the New Year 1 Comment
Happy Holidays from LOAC, Dogpatch-Style!
Weather or Not …
A Little Pre-Holiday Caniff-ana 2 Comments
LOAC Inktober
john R cochran on A Fantasy Comics Page for the New Year
Carl Farr on A Plainclothes Salute
Dean Mullaney on A Little Pre-Holiday Caniff-ana
Jon Francis on A Little Pre-Holiday Caniff-ana
Michael Fraley on Screwball Sunday: I Vote For Rube Goldberg—Three Election Cartoons
Beetle Bailey Betty White Caniff Chuck Jones Code of the U.S. Fighting Force Corto Maltese Crawford Dick Tracy Eisner Awards EuroComics Flash Gordon Flip Corkin Gramercy Park Hugo Pratt Juliet Jones Library of American Comics LOAC LOAC Road to 200 Milton Caniff Nancy peanuts Phil Cochran Redeye Rip Kirby Rubén Pellejero San Diego Comic-Con Screwball simone Castaldi Steve Canyon Tarzan Terry and the Pirates The Phantom Venice
"Cap" Stubbs & Tippie (4)
Bloom County (1)
Bringing Up Father (4)
Bungle Family (2)
Caniff (4)
Carlos Gimenez (1)
Chuck Jones (2)
Corto Maltese (13)
Eisner Awards (2)
EuroComics (23)
Flash Gordon and Jungle Jim (1)
George Herriman (1)
Hugo Pratt (11)
Jean-Pierre Gibrat (1)
jose munoz (1)
King Aroo (1)
Li'l Abner (4)
Little Orphan Annie (7)
LOAC Essentials (4)
Polly and Her Pals (4)
Popeye (2)
Rip Kirby (2)
Ruben Pellejero (3)
Scorchy Smith (3)
Screwball (22)
simone castaldi (1)
Skippy (1)
Star Hawks (1)
Steve Canyon (6)
Terry and the Pirates (8)
The Gumps (3)
The Library of American Comics & EuroComics Podcast (1)
The Little King (1)
X-9: Secret Agent Corrigan (1)
Little Orphan Annie Vol. 17: 1953-1955 — Fifty Miles from Nowhere $49.99
Dick Tracy Vol. 29: 1976-1977 $44.99
Steve Canyon Vol. 11: 1967-1968 $49.99
For Better or For Worse Vol. 5: 1993-1996 $49.99
Great comics are great comics, regardless of where or when they were created. Our Library of American Comics imprint takes care of the "when" by preserving the long and jubilantly creative history of American newspaper comic strips. EuroComics addresses the "where" by introducing North American readers to English language translations of the best in European and other comics.
Copyright 2021 © Library of American Comics LLC. All Rights Reserved by LOAC and its respective Licensors.


text:
https://www.nhregister.com/connecticut/article/Branford-officials-delay-action-on-Cooke-11381332.php
Branford officials delay action on Cooke settlement
Published 11:23 pm EDT, Wednesday, October 8, 2014
BRANFORD >> A potential settlement in the defamation case of longtime resident Wayne Cooke v. former First Selectman Anthony "Unk" DaRos was left in limbo this week after town officials appeared reluctant to discuss it.
The potential settlement stems from a formal 2010 complaint in which Cooke accused DaRos of publicly defaming his character after DaRos allegedly accused him of bribery.
Now, each appropriate board must decide whether to approve a fund transfer from the fund balance brought forward to the expenses and claims account.
First, the Board of Finance was slated to take a swing at the issue during Monday night's meeting. But the board decided not to act on it, tabling it indefinitely.
Next up, the Representative Town Meeting had the issue as a final agenda item for Wednesday's meeting.
But moderator Dennis T. Flanigan took no action on the topic.
"There was no action taken on it (by the finance committee)," Flanigan said in session. "So it wasn't officially sent to this board. It has to be removed from the call."
According to Cooke's attorney, Edward Marcus of Marcus Law Firm, the two parties tentatively agreed to come to a settlement last September.
Marcus said the settlement involves the defamation suit along with allegations of civil rights violations relating to Cooke's farm, Hilltop Orchards.
According to information exchanged during Wednesday's meeting, the Board of Finance has no set time scheduled to discuss the matter.
The special Representative Town Meeting scheduled for Oct. 15, for which the only agenda item was the Cooke settlement, has been cancelled.


Be proud of our island home's heritage with the Indigenous All Stars 2019 Women's Replica Jersey. The jersey was designed by Gomeroi artist Elenore Binge and features Mother Earth, protector of land and sea. On each side of Mother Earth are Sea Turtle and Emu totems. The jersey is constructed from 100% Polyester and integrates ISC's AXIS fabrication to maintain comfort and body temperature.


text:
Shaping our future with clean energy
Consumer Solar Checklist
Consumer Bill of Rights
Other Consumer Resources
Interconnection: The Series
Shared Renewables
National Shared Renewables Scorecard
Shared Renewables Policy Catalog
Smart Inverters
Multifamily Solar Access
Digital Credential
Credential Holders
Key Docs
Tips & Videos
Certified Small Wind Turbines
Workforce Program
Solar Career Map
National Solar Licensing Map
Best Practices: The Series
Solar Content Integration
Credentialing Bodies
Workforce Development Boards
Allied Solar Professions
Code Official Solar Training
Fire Fighter Solar Training
Up Front Blog
The IREC Report
IREC Awards
2019 Vision Summit
About IREC
The IREC Team
Donate to IREC
Clean Energy Consumer Bill of Rights
Regulatory Insight Series
Support IREC
Home › News › New solar policies and programs jumpstart Utah's solar market
New solar policies and programs jumpstart Utah's solar market
Posted on May 3, 2010 by Jane Pulaski
Salt Lake City was the site for the 3rd Solar America Cities (SAC) gathering last month where Solar Salt Lake was the recipient of SAC's Barrier Buster Award for its efforts to improve Utah's net metering rules. Congratulations. According to Sara Baldwin, Utah Clean Energy, Solar Salt Lake continues to explore creative financing options for residential and commercial entities with the goal of increasing Utah's solar generation to 10 MW by 2015, with the underlying goal of making solar financially attractive. The Solar Salt Lake Partnership is a collaborative effort among Utah Clean Energy Salt Lake City, Salt Lake County, Kennecott Land, Ballard Spahr, IREC/Keyes & Fox, the Utah State Energy Program, and the Governor's Office of Economic Development. The partnership also works closely with solar/renewable energy industry groups (Smart Energy Coalition, Solar Nation, Vote Solar, Utah Solar Energy Association, and Interwest Energy Alliance) and a strong coalition of businesses, local governments, schools, and organizations.
In addition to the news about Solar Salt Lake, Baldwin wanted to share more solar news and activities from Utah. Here's her report:
Salt Lake County (Utah's largest population center) is poised to single-handedly double the amount of installed solar energy in the state, thanks to a new policy, House Bill 145 S02 – Renewable Energy Financing Provisions, and available American Reinvestment & Recovery Act (ARRA) funds. House Bill 145 S02, signed into law in March 2010, enables access to third-party financing for renewable energy for Utah's schools, universities, churches, and government entities. While the policy does not extend to tax-paying entities, the bill's passage is an important first step that will help expand Utah's solar market and facilitate large-scale solar projects across the state.
On April 14, Salt Lake County Mayor Peter Corroon announced the County's plans to issue a request for proposals for 1 Megawatt (1 MW) of solar PV on up to four of their facilities. Fortunately, the County will be able to take advantage of this new financing arrangement, without which the project might not have gone forward. The County is already the proud owner of a 100-kW solar PV project on their new public works facility (completed at the end of 2009), and Mayor Corroon has set a goal to install an additional 11 MW of solar to be dispersed between as many county-owned facilities as possible. Without a doubt, third-party financing will be critical to achieving this ambitious goal. Another non-profit entity that stands to benefit from Utah's new third-party financing policy is the Church of Jesus Christ of Latter Day Saints (LDS Church), who has recently completed construction on three solar powered, LEED silver meeting houses (one of which is in Utah). Third-party financing will likely help make these projects more financially viable and may entice the LDS church to consider solar energy for more of their facilities (of which there are thousands) across the state.
On the residential and commercial front, Utahns will be able to take advantage of an exciting new solar rebate, offered through the Utah State Energy Program (SEP) using ARRA funds. The $2/watt incentive is expected to jumpstart Utah's solar market, put people (back) to work, and make solar more affordable for more homeowners and businesses across the state. The $3 million solar PV rebate program for homes and businesses in Salt Lake City will launch the end of April 2010 and is expected to fill up quickly.
And if you're craving yet more information about solar activities in Salt Lake City, Sara offers these resources:
Solar Cities America project shine light on hope for sun power – Deseret News, April 14, 2010
Salt Lake County's solar future could get brighter – Salt Lake Tribune, April 14, 2010
Herbert, Corroon differ on energy development – KSL Channel 5, April 14, 2010
LDS Church unveils 'green' meetinghouse – KSL Channel 5, April 27, 2010
Tagged with: Barrier Buster Award, Sara Baldwin, Solar America Cities, Solar Nation, Solar Salt Lake, Utah Clean Energy, Utah Solar Energy Association, Utah State Energy Progam, Vote Solar
Interstate Renewable Energy Council (IREC)
Latham, New York 12110-1156
info@irecusa.org
Interstate Renewable Energy Council
Name Email address Organization Organization Type --Select-- Clean Energy Industry Consultant Education/Training Federal Government Foundation Individual - not affiliated Media Non-profit Other Industry Regulatory Commission/Staff State/Local Government Trade Association Utility Stay up-to-date with IREC's programs and policies in clean energy! Check here to subscribe
We never sell or share your information with anyone else. You can find complete details in our privacy policy.
For the next 72 hours, you can download any IREC report without having to fill out this form again!
This feature requires the use of cookies in your browser. Check your browser settings if you experience any problems.


Curtis Septic performs residential and commercial septic system installation services with a Lifetime Guarantee all workmanship. No other Douglas Septic Contractor offers this.
Lifetime Transferable Warranty on all work in Douglas, Massachusetts (MA).
Curtis Septic works with several of the best engineers in Douglas, MA designing septic systems today.


pumpkin decorations for fall centerpieces wedding.
s pumpkin decorations for fall autumn.
pumpkin decorations for fall wedding.
pumpkin decorations for fall outdoor.
stcked piry decorte fll tblescpe pumpkin decorations for fall white centerpieces decortion.
pumpkin decorations for fall outside.
pumpkin decorations for fall centerpiece ideas.
pumpkin decorations for fall centerpieces.
fll fst nd esy wy pumpkin decorations for fall autumn.
pumpkin decorations for fall white.
s nd vses pumpkin decorations for fall outdoor ides.
pumpkin decorations for fall autumn.


2.54 acres with mature trees and no backyard neighbors! 4-season porch off the dining room, mud room with a 1/2 bath off the attached garage. 2 bedrooms above grade, including the master with a walk-in closet and private bath. Finished basement with 2 additional bedrooms and fireplace in the family room. Plenty of storage space for all the toys in the additional garage out back. Fresh paint and carpet throughout. Private septic system, with the option to hook-up to city sewer.
I am interested in 13025 Arthur St, Rogers, MN 55374 (Listing ID # 5027790).


text:
Q: Zend framework2 multi controller in module I've got a problem with adding many controllers in the one module. Zend2 is difficult for beginners.
I've created Module "Home" with Controllers "Home" and "News". HomeController is going fine but when I'm trying to connect to the NewsController I'm getting Fatal error: Class 'Home\Controller\NewsController' not found in C:\wamp\www\zend2\vendor\zendframework\zendframework\library\Zend\ServiceManager\AbstractPluginManager.php on line 170. And I don't know where the problem is.
My module.config looks like
return array(
    'controllers' => array(
        'invokables' => array(
            'Home\Controller\Home' => 'Home\Controller\HomeController',
            'Home\Controller\News' => 'Home\Controller\NewsController',
        ),
    ),
    'router' => array(
        'routes' => array(
            'home' => array(
                'type' => 'segment',
                'options' => array(
                    'route' => '/home[/][:action]',
                    'constraints' => array(
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*'
                    ),
                    'defaults' => array(
                        'controller' => 'Home\Controller\Home',
                        'action' => 'index',
                    ),
                ),
            ),
            'news' => array(
                'type' => 'segment',
                'options' => array(
                    'route' => '/news[/][:action]',
                    'constraints' => array(
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*'
                    ),
                    'defaults' => array(
                        'controller' => 'Home\Controller\News',
                        'action' => 'index',
                    ),
                ),
            ),

        ),
    ),
    'view_manager' => array(
        'template_path_stack' => array(
            'album' => __DIR__ . '/../view',
        ),
    ),
);

I'm using navigation factory so navigation file looks like :
return array(
    'navigation' => array(
        'default' => array(
            array(
                'label' => 'Home',
                'route' => 'home'
            ),
            array(
                'label' => 'News',
                'route' => 'news'
            ),
        ),
    ),
    'service_manager' => array(
        'factories' => array(
                'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory'
        )
    )
);

And Module.php looks like
namespace Home;

class Module {

    public function getAutoloaderConfig()
    {
        return array(
                'Zend\Loader\ClassMapAutoloader' => array(
                        __DIR__ . '/autoload_classmap.php',
                ),
                'Zend\Loader\StandardAutoloader' => array(
                        'namespaces' => array(
                                __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                        ),
                ),
        );
    }

    public function getConfig()
    {
        return include __DIR__ . '/config/module.config.php';
    }

}

And NewsController looks like
namespace News\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class NewsController extends AbstractActionController {
    public function indexAction()
    {
        return array();
    }
}

A: In your controller class you're declaring the namespace as:
namespace News\Controller;

yet in your module config you list the invokable class as Home\Controller\NewsController. The namespaces need to match, so you probably want to change the controller class namespace to:
namespace Home\Controller;