text:
#include "attributes.h"
#include "wrap/gl4es.h"
#include "wrap/stub.h"
#include "directstate.h"
#include "framebuffers.h"
#include "init.h"
#include "line.h"
#include "loader.h"
#include "render.h"
#include "texgen.h"
#include "vertexattrib.h"
#include "oldprogram.h"
#include "samplers.h"
#include "matrix.h"

#include "../glx/hardext.h"

//#define DEBUG
#ifdef DEBUG
#define DBG(a) a
#else
#define DBG(a)
#endif

#define STUB_FCT gl4es_Stub
#include "gl_lookup.h"

#if (!defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__)
void gl4es_Stub(void *x, ...) {
    return;
}
#else
//TODO: if need use STUB with different argnum, the macro must be redesigned
void APIENTRY_GL4ES gl4es_Stub(void *x) {}
#endif

void* APIENTRY_GL4ES gl4es_GetProcAddress(const char *name) {
    DBG(printf("glGetProcAddress(\"%s\")", name);)
    // generated gles wrappers
    #include "glesfuncs.inc"

    // GL_EXT_texture_object (yeah, super old!)
    _EXT(glGenTextures);
    _EXT(glBindTexture);
    _EXT(glDeleteTextures);
    _EXT(glIsTexture);
    _EXT(glAreTexturesResident);
    _EXT(glPrioritizeTextures);

    // GL_EXT_polygonoffset
    _EXT(glPolygonOffset);

    // GL_ARB_vertex_buffer_object
    _ARB(glBindBuffer);
    _ARB(glBufferData);
    _ARB(glBufferSubData);
    _ARB(glDeleteBuffers);
    _ARB(glGenBuffers);
    _ARB(glIsBuffer);
    _EX(glGetBufferPointerv);
    _ARB(glGetBufferPointerv);
    _EX(glMapBuffer);
    _EX(glUnmapBuffer);
    _ARB(glMapBuffer);
    _ARB(glUnmapBuffer);
    _ARB(glGetBufferParameteriv);
    _EX(glGetBufferSubData);
    _ARB(glGetBufferSubData);
    _EX(glCopyBufferSubData);
    _ARB(glCopyBufferSubData);

    _EX(glMapBufferRange);
    _EX(glFlushMappedBufferRange);
    // Named Buffer
    _EX(glNamedBufferData);
    _EX(glNamedBufferSubData);
    _EX(glGetNamedBufferParameteriv);
    _EX(glMapNamedBuffer);
    _EX(glUnmapNamedBuffer);
    _EX(glGetNamedBufferSubData);
    _EX(glGetNamedBufferPointerv);
    _EXT(glNamedBufferData);
    _EXT(glNamedBufferSubData);
    _EXT(glGetNamedBufferParameteriv);
    _EXT(glMapNamedBuffer);
    _EXT(glUnmapNamedBuffer);
    _EXT(glGetNamedBufferSubData);
    _EXT(glGetNamedBufferPointerv);
    // GL_ARB_vertex_array_object
    _EX(glGenVertexArrays);
    _EX(glBindVertexArray);
    _EX(glDeleteVertexArrays);
    _EX(glIsVertexArray);
    _ARB(glGenVertexArrays);
    _ARB(glBindVertexArray);
    _ARB(glDeleteVertexArrays);
    _ARB(glIsVertexArray);
    _EXT(glGenVertexArrays);
    _EXT(glBindVertexArray);
    _EXT(glDeleteVertexArrays);
    _EXT(glIsVertexArray);

    // GL_ARB_frameBuffer_ext
    if(hardext.fbo) {
        _EX(glFramebufferTexture1D);
        _EX(glFramebufferTexture3D);
        _EX(glFramebufferTextureLayer);
        _EX(glRenderbufferStorageMultisample);
        _EX(glBlitFramebuffer);
        _EXT(glGenFramebuffers);
        _EXT(glDeleteFramebuffers);
        _EXT(glIsFramebuffer);
        _EXT(glCheckFramebufferStatus);
        _EXT(glBindFramebuffer);
        _EXT(glFramebufferTexture2D);
        _EXT(glFramebufferTexture1D);
        _EXT(glFramebufferTexture3D);
        _EXT(glGenRenderbuffers);
        _EXT(glFramebufferRenderbuffer);
        _EXT(glDeleteRenderbuffers);
        _EXT(glRenderbufferStorage);
        _EXT(glRenderbufferStorageMultisample);
        _EXT(glBindRenderbuffer);
        _EXT(glIsRenderbuffer);
        _EXT(glGenerateMipmap);
        _EXT(glGetFramebufferAttachmentParameteriv);
        _EXT(glGetRenderbufferParameteriv);
        _EXT(glFramebufferTextureLayer);
        _EXT(glBlitFramebuffer);
        _ARB(glGenFramebuffers);
        _ARB(glDeleteFramebuffers);
        _ARB(glIsFramebuffer);
        _ARB(glCheckFramebufferStatus);
        _ARB(glBindFramebuffer);
        _ARB(glFramebufferTexture2D);
        _ARB(glFramebufferTexture1D);
        _ARB(glFramebufferTexture3D);
        _ARB(glGenRenderbuffers);
        _ARB(glFramebufferRenderbuffer);
        _ARB(glDeleteRenderbuffers);
        _ARB(glRenderbufferStorage);
        _ARB(glRenderbufferStorageMultisample);
        _ARB(glBindRenderbuffer);
        _ARB(glIsRenderbuffer);
        _ARB(glGenerateMipmap);
        _ARB(glGetFramebufferAttachmentParameteriv);
        _ARB(glGetRenderbufferParameteriv);
        _ARB(glFramebufferTextureLayer);
        _ARB(glBlitFramebuffer);
        _EX(glDrawBuffers);
        _ARB(glDrawBuffers);
        _EX(glClearBufferiv);
        _EX(glClearBufferuiv);
        _EX(glClearBufferfv);
        _EX(glClearBufferfi);
        _EX(glClearNamedFramebufferiv)
        _EX(glClearNamedFramebufferuiv)
        _EX(glClearNamedFramebufferfv)
        _EX(glClearNamedFramebufferfi)
        _EXT(glClearNamedFramebufferiv)
        _EXT(glClearNamedFramebufferuiv)
        _EXT(glClearNamedFramebufferfv)
        _EXT(glClearNamedFramebufferfi)

        // draw_buffer_2 (partial)
        _EXT(glColorMaskIndexed)
    }

    // GL_EXT_vertex_array
    _EXT(glArrayElement);
    _EXT(glDrawArrays);
    _EXT(glVertexPointer);
    _EXT(glNormalPointer);
    _EXT(glColorPointer);
    _EX(glIndexPointer);    //TODO, stub for now
    _EXT(glIndexPointer);
    _EXT(glTexCoordPointer);
    _EX(glEdgeFlagPointer); //TODO, stub for now
    _EXT(glEdgeFlagPointer);
    _EX(glGetPointerv);
    _EXT(glGetPointerv);

    // OES wrapper
    EX(glClearDepthfOES);
    EX(glClipPlanefOES);
    EX(glDepthRangefOES);
    EX(glFrustumfOES);
    EX(glGetClipPlanefOES);
    EX(glOrthofOES);

    // passthrough
    // batch thunking!
    #define THUNK(suffix, type)       \
    _EX(glColor3##suffix##v);          \
    _EX(glColor3##suffix);             \
    _EX(glColor4##suffix##v);          \
    _EX(glColor4##suffix);             \
    _EX(glSecondaryColor3##suffix##v); \
    _EX(glSecondaryColor3##suffix);    \
    _EXT(glSecondaryColor3##suffix##v); \
    _EXT(glSecondaryColor3##suffix);    \
    _EX(glIndex##suffix##v);           \
    _EX(glIndex##suffix);              \
    _EX(glNormal3##suffix##v);         \
    _EX(glNormal3##suffix);            \
    _EX(glRasterPos2##suffix##v);      \
    _EX(glRasterPos2##suffix);         \
    _EX(glRasterPos3##suffix##v);      \
    _EX(glRasterPos3##suffix);         \
    _EX(glRasterPos4##suffix##v);      \
    _EX(glRasterPos4##suffix);         \
    _EX(glWindowPos2##suffix##v);      \
    _EX(glWindowPos2##suffix);         \
    _EX(glWindowPos3##suffix##v);      \
    _EX(glWindowPos3##suffix);         \
    _EX(glVertex2##suffix##v);         \
    _EX(glVertex2##suffix);            \
    _EX(glVertex3##suffix##v);         \
    _EX(glVertex3##suffix);            \
    _EX(glVertex4##suffix##v);         \
    _EX(glVertex4##suffix);            \
    _EX(glTexCoord1##suffix##v);       \
    _EX(glTexCoord1##suffix);          \
    _EX(glTexCoord2##suffix##v);       \
    _EX(glTexCoord2##suffix);          \
    _EX(glTexCoord3##suffix##v);       \
    _EX(glTexCoord3##suffix);          \
    _EX(glTexCoord4##suffix##v);       \
    _EX(glTexCoord4##suffix);          \
    _EX(glMultiTexCoord1##suffix##v);  \
    _EX(glMultiTexCoord1##suffix);     \
    _EX(glMultiTexCoord2##suffix##v);  \
    _EX(glMultiTexCoord2##suffix);     \
    _EX(glMultiTexCoord3##suffix##v);  \
    _EX(glMultiTexCoord3##suffix);     \
    _EX(glMultiTexCoord4##suffix##v);  \
    _EX(glMultiTexCoord4##suffix);     \
    _EXT(glMultiTexCoord1##suffix##v); \
    _EXT(glMultiTexCoord1##suffix);    \
    _EXT(glMultiTexCoord2##suffix##v); \
    _EXT(glMultiTexCoord2##suffix);    \
    _EXT(glMultiTexCoord3##suffix##v); \
    _EXT(glMultiTexCoord3##suffix);    \
    _EXT(glMultiTexCoord4##suffix##v); \
    _EXT(glMultiTexCoord4##suffix);    \
    _ARB(glMultiTexCoord1##suffix##v); \
    _ARB(glMultiTexCoord1##suffix);    \
    _ARB(glMultiTexCoord2##suffix##v); \
    _ARB(glMultiTexCoord2##suffix);    \
    _ARB(glMultiTexCoord3##suffix##v); \
    _ARB(glMultiTexCoord3##suffix);    \
    _ARB(glMultiTexCoord4##suffix##v); \
    _ARB(glMultiTexCoord4##suffix);

    THUNK(b, GLbyte);
    THUNK(d, GLdouble);
    THUNK(i, GLint);
    THUNK(s, GLshort);
    THUNK(ub, GLubyte);
    THUNK(ui, GLuint);
    THUNK(us, GLushort);
    THUNK(f, GLfloat);
    #undef THUNK

    _EX(glPointParameterf);
    _EX(glPointParameterfv);
    _ARB(glPointParameterf);
    _ARB(glPointParameterfv);
    _EXT(glPointParameterf);
    _EXT(glPointParameterfv);

    // functions we actually define
    _EXT(glActiveTexture);
    _ARB(glActiveTexture);
    _EX(glArrayElement);
    _EX(glBegin);
    _EX(glBitmap);
    if(globals4es.blendcolor || hardext.blendcolor) {
        _EX(glBlendColor);
        _EXT(glBlendColor);
        _ARB(glBlendColor);
    }
    _EXT(glBlendEquation);
    _ARB(glBlendEquation);
    _EXT(glBlendFunc);
    _ARB(glBlendFunc);

    if(hardext.blendeq) {
        _EXT(glBlendEquationSeparate);
        _ARB(glBlendEquationSeparate);
        _EX(glBlendEquationSeparatei);
        _EXT(glBlendEquationSeparatei);
        _ARB(glBlendEquationSeparatei);
    }
    if(hardext.blendfunc) {
        _EXT(glBlendFuncSeparate);
        _ARB(glBlendFuncSeparate);
        _EX(glBlendFuncSeparatei);
        _EXT(glBlendFuncSeparatei);
        _ARB(glBlendFuncSeparatei);
    }
    _EX(glStencilMaskSeparate);
    _EXT(glStencilMaskSeparate);
    _EX(glCallList);
    _EX(glCallLists);
    _EX(glClearDepth);
    _EXT(glClientActiveTexture);
    _ARB(glClientActiveTexture);
    _EX(glClipPlane);
    _EX(glCopyPixels);
    _EX(glDeleteLists);
    _EX(glDepthRange);
    _EX(glDrawBuffer);
    _EX(glDrawPixels);
    _EX(glDrawRangeElements);
    _EXT(glDrawRangeElements);
    _EX(glEdgeFlag);
    _EX(glEnd);
    _EX(glEndList);
    _EX(glEvalCoord1d);
    _EX(glEvalCoord1f);
    _EX(glEvalCoord2d);
    _EX(glEvalCoord2f);
    _EX(glEvalCoord1dv);
    _EX(glEvalCoord1fv);
    _EX(glEvalCoord2dv);
    _EX(glEvalCoord2fv);
    _EX(glEvalMesh1);
    _EX(glEvalMesh2);
    _EX(glEvalPoint1);
    _EX(glEvalPoint2);
    _EX(glFogCoordd);
    _EX(glFogCoorddv);
    _EX(glFogCoordf);
    _EX(glFogCoordfv);
    _EX(glFogi);
    _EX(glFogiv);
    _EX(glFrustum);
    _EX(glGenLists);
    _EX(glGetDoublev);
    _EX(glGetIntegerv);
    _EX(glGetMapdv);
    _EX(glGetMapfv);
    _EX(glGetMapiv);
    _EX(glGetTexImage);
    _EX(glGetTexLevelParameterfv);
    _EX(glGetTexLevelParameteriv);
    _EX(glInitNames);
    _EX(glInterleavedArrays);
    _EX(glIsList);
    _EX(glLighti);
    _EX(glLightiv);
    _EX(glLightModeli);
    _EX(glLightModeliv);
    _EX(glLineStipple);
    _EX(glListBase);
    _EX(glLoadMatrixd);
    _EX(glLoadName);
    _EXT(glLockArrays);
    _EX(glMap1d);
    _EX(glMap1f);
    _EX(glMap2d);
    _EX(glMap2f);
    _EX(glMapGrid1d);
    _EX(glMapGrid1f);
    _EX(glMapGrid2d);
    _EX(glMapGrid2f);
    _EX(glMateriali);
    _EX(glMaterialiv);
    _EX(glMultMatrixd);
    _EX(glNewList);
    _EX(glOrtho);
    _EX(glPixelTransferf);
    _EX(glPixelTransferi);
    _EX(glPixelZoom);
    _EX(glPolygonMode);
    _EX(glPolygonStipple);
    _EX(glPopAttrib);
    _EX(glPopClientAttrib);
    _EX(glPopName);
    _EX(glPushAttrib);
    _EX(glPushClientAttrib);
    _EX(glPushName);
    _EX(glRasterPos2i);
    _EX(glReadBuffer);
    _EX(glRectd);
    _EX(glRectf);
    _EX(glRecti);
    _EX(glRects);
    _EX(glRectdv);
    _EX(glRectfv);
    _EX(glRectiv);
    _EX(glRectsv);
    _EX(glRenderMode);
    _EX(glRotated);
    _EX(glScaled);
    _EX(glSecondaryColorPointer);
    _EXT(glSecondaryColorPointer);
    _EX(glTexEnvf);
    _EX(glTexEnviv);
    _EX(glTexGend);
    _EX(glTexGendv);
    _EX(glTexGenf);
    _EX(glTexGenfv);
    _EX(glTexGeni);
    _EX(glTexGeniv);
    _EX(glTexImage1D);
    _EX(glTexImage3D);
    _EX(glTexSubImage1D);
    _EX(glTexSubImage3D);
    _EXT(glTexImage3D);
    _EXT(glTexSubImage3D);
    _EX(glCompressedTexImage1D);
    _EX(glCompressedTexSubImage1D);
    _EX(glCompressedTexImage3D);
    _EX(glCompressedTexSubImage3D);
    _EX(glGetCompressedTexImage);
    _EXT(glCompressedTexImage2D);
    _EXT(glCompressedTexSubImage2D);
    _EXT(glCompressedTexImage1D);
    _EXT(glCompressedTexSubImage1D);
    _EXT(glCompressedTexImage3D);
    _EXT(glCompressedTexSubImage3D);
    _EXT(glGetCompressedTexImage);
    _ARB(glCompressedTexImage2D);
    _ARB(glCompressedTexSubImage2D);
    _ARB(glCompressedTexImage1D);
    _ARB(glCompressedTexSubImage1D);
    _ARB(glCompressedTexImage3D);
    _ARB(glCompressedTexSubImage3D);
    _ARB(glGetCompressedTexImage);
    _EX(glCopyTexImage1D);
    _EX(glCopyTexSubImage1D);
    _EX(glTranslated);
    _EXT(glUnlockArrays);
    _EX(glGetTexGenfv);
    _EX(glGetTexGendv);
    _EX(glGetTexGeniv);
    _EX(glLoadTransposeMatrixf);
    _EX(glLoadTransposeMatrixd);
    _EX(glMultTransposeMatrixd);
    _EX(glMultTransposeMatrixf);
    // stubs for unimplemented functions
    STUB(glAccum);
    STUB(glAreTexturesResident);
    STUB(glClearAccum);
    _EX(glColorMaterial);
    _EX(glCopyTexSubImage3D);   // It's a stub, calling the 2D one
    STUB(glFeedbackBuffer);
    _EX(glGetClipPlane);
    _EX(glGetLightiv);
    _EX(glGetMaterialiv);
    _EX(glGetPixelMapfv);
    _EX(glGetPixelMapuiv);
    _EX(glGetPixelMapusv);
    STUB(glGetPolygonStipple);
    _EX(glGetStringi);
    STUB(glPassThrough);
    _EX(glPixelMapfv);
    _EX(glPixelMapuiv);
    _EX(glPixelMapusv);
    _EX(glPixelStoref);
    STUB(glPrioritizeTextures);
    STUB(glSelectBuffer);   //TODO

    _EX(glMultiDrawArrays);
    _EXT(glMultiDrawArrays);
    _EX(glMultiDrawElements);
    _EXT(glMultiDrawElements);

    _EX(glPointParameteri);
    _EX(glPointParameteriv);

    _EX(glFogCoordPointer);
    if(hardext.esversion>1) {
        // EXT_fog_coord supported
        _EXT(glFogCoordd);
        _EXT(glFogCoorddv);
        _EXT(glFogCoordf);
        _EXT(glFogCoordfv);
        _EXT(glFogCoordPointer);
    }
    /*STUB(glEdgeFlagPointerEXT);
    STUB(glIndexPointerEXT);*/
    STUB(glClearIndex);
    STUB(glEdgeFlagv);
    STUB(glIndexMask);

    //EXT_direct_state_access
    _EX(glClientAttribDefault);
    _EX(glPushClientAttribDefault);
    _EX(glMatrixLoadf);
    _EX(glMatrixLoadd);
    _EX(glMatrixMultf);
    _EX(glMatrixMultd);
    _EX(glMatrixLoadIdentity);
    _EX(glMatrixRotatef);
    _EX(glMatrixRotated);
    _EX(glMatrixScalef);
    _EX(glMatrixScaled);
    _EX(glMatrixTranslatef);
    _EX(glMatrixTranslated);
    _EX(glMatrixOrtho);
    _EX(glMatrixFrustum);
    _EX(glMatrixPush);
    _EX(glMatrixPop);
    _EX(glTextureParameteri);
    _EX(glTextureParameteriv);
    _EX(glTextureParameterf);
    _EX(glTextureParameterfv);
    _EX(glTextureImage1D);
    _EX(glTextureImage2D);
    _EX(glTextureSubImage1D);
    _EX(glTextureSubImage2D);
    _EX(glCopyTextureImage1D);
    _EX(glCopyTextureImage2D);
    _EX(glCopyTextureSubImage1D);
    _EX(glCopyTextureSubImage2D);
    _EX(glGetTextureImage);
    _EX(glGetTextureParameterfv);
    _EX(glGetTextureParameteriv);
    _EX(glGetTextureLevelParameterfv);
    _EX(glGetTextureLevelParameteriv);
    _EX(glTextureImage3D);
    _EX(glTextureSubImage3D);
    _EX(glCopyTextureSubImage3D);
    _EX(glBindMultiTexture);
    _EX(glMultiTexCoordPointer);
    _EX(glMultiTexEnvf);
    _EX(glMultiTexEnvfv);
    _EX(glMultiTexEnvi);
    _EX(glMultiTexEnviv);
    _EX(glMultiTexGend);
    _EX(glMultiTexGendv);
    _EX(glMultiTexGenf);
    _EX(glMultiTexGenfv);
    _EX(glMultiTexGeni);
    _EX(glMultiTexGeniv);
    _EX(glGetMultiTexEnvfv);
    _EX(glGetMultiTexEnviv);
    _EX(glGetMultiTexGendv);
    _EX(glGetMultiTexGenfv);
    _EX(glGetMultiTexGeniv);
    _EX(glMultiTexParameteri);
    _EX(glMultiTexParameteriv);
    _EX(glMultiTexParameterf);
    _EX(glMultiTexParameterfv);
    _EX(glMultiTexImage1D);
    _EX(glMultiTexImage2D);
    _EX(glMultiTexSubImage1D);
    _EX(glMultiTexSubImage2D);
    _EX(glCopyMultiTexImage1D);
    _EX(glCopyMultiTexImage2D);
    _EX(glCopyMultiTexSubImage1D);
    _EX(glCopyMultiTexSubImage2D);
    _EX(glGetMultiTexImage);
    _EX(glGetMultiTexParameterfv);
    _EX(glGetMultiTexParameteriv);
    _EX(glGetMultiTexLevelParameterfv);
    _EX(glGetMultiTexLevelParameteriv);
    _EX(glMultiTexImage3D);
    _EX(glMultiTexSubImage3D);
    _EX(glCopyMultiTexSubImage3D);
    _EX(glEnableClientStateIndexed);
    _EX(glDisableClientStateIndexed);
    _EX(glEnableClientStatei);
    _EX(glDisableClientStatei);
    _EX(glEnableVertexArray);
    _EX(glDisableVertexArray);
    _EX(glEnableVertexArrayAttrib);
    _EX(glDisableVertexArrayAttrib);
    _EX(glGetFloatIndexedv);
    _EX(glGetDoubleIndexedv);
    _EX(glGetIntegerIndexedv);
    _EX(glGetBooleanIndexedv);
    _EX(glGetPointerIndexedv);
    _EX(glEnableIndexed);
    _EX(glDisableIndexed);
    _EX(glIsEnabledIndexed);
    _EX(glCompressedTextureImage3D);
    _EX(glCompressedTextureImage2D);
    _EX(glCompressedTextureImage1D);
    _EX(glCompressedTextureSubImage3D);
    _EX(glCompressedTextureSubImage2D);
    _EX(glCompressedTextureSubImage1D);
    _EX(glGetCompressedTextureImage);
    _EX(glCompressedMultiTexImage3D);
    _EX(glCompressedMultiTexImage2D);
    _EX(glCompressedMultiTexImage1D);
    _EX(glCompressedMultiTexSubImage3D);
    _EX(glCompressedMultiTexSubImage2D);
    _EX(glCompressedMultiTexSubImage1D);
    _EX(glGetCompressedMultiTexImage);
    _EX(glMatrixLoadTransposef);
    _EX(glMatrixLoadTransposed);
    _EX(glMatrixMultTransposef);
    _EX(glMatrixMultTransposed);
    _EXT(glClientAttribDefault);
    _EXT(glPushClientAttribDefault);
    _EXT(glMatrixLoadf);
    _EXT(glMatrixLoadd);
    _EXT(glMatrixMultf);
    _EXT(glMatrixMultd);
    _EXT(glMatrixLoadIdentity);
    _EXT(glMatrixRotatef);
    _EXT(glMatrixRotated);
    _EXT(glMatrixScalef);
    _EXT(glMatrixScaled);
    _EXT(glMatrixTranslatef);
    _EXT(glMatrixTranslated);
    _EXT(glMatrixOrtho);
    _EXT(glMatrixFrustum);
    _EXT(glMatrixPush);
    _EXT(glMatrixPop);
    _EXT(glTextureParameteri);
    _EXT(glTextureParameteriv);
    _EXT(glTextureParameterf);
    _EXT(glTextureParameterfv);
    _EXT(glTextureImage1D);
    _EXT(glTextureImage2D);
    _EXT(glTextureSubImage1D);
    _EXT(glTextureSubImage2D);
    _EXT(glCopyTextureImage1D);
    _EXT(glCopyTextureImage2D);
    _EXT(glCopyTextureSubImage1D);
    _EXT(glCopyTextureSubImage2D);
    _EXT(glGetTextureImage);
    _EXT(glGetTextureParameterfv);
    _EXT(glGetTextureParameteriv);
    _EXT(glGetTextureLevelParameterfv);
    _EXT(glGetTextureLevelParameteriv);
    _EXT(glTextureImage3D);
    _EXT(glTextureSubImage3D);
    _EXT(glCopyTextureSubImage3D);
    _EXT(glBindMultiTexture);
    _EXT(glMultiTexCoordPointer);
    _EXT(glMultiTexEnvf);
    _EXT(glMultiTexEnvfv);
    _EXT(glMultiTexEnvi);
    _EXT(glMultiTexEnviv);
    _EXT(glMultiTexGend);
    _EXT(glMultiTexGendv);
    _EXT(glMultiTexGenf);
    _EXT(glMultiTexGenfv);
    _EXT(glMultiTexGeni);
    _EXT(glMultiTexGeniv);
    _EXT(glGetMultiTexEnvfv);
    _EXT(glGetMultiTexEnviv);
    _EXT(glGetMultiTexGendv);
    _EXT(glGetMultiTexGenfv);
    _EXT(glGetMultiTexGeniv);
    _EXT(glMultiTexParameteri);
    _EXT(glMultiTexParameteriv);
    _EXT(glMultiTexParameterf);
    _EXT(glMultiTexParameterfv);
    _EXT(glMultiTexImage1D);
    _EXT(glMultiTexImage2D);
    _EXT(glMultiTexSubImage1D);
    _EXT(glMultiTexSubImage2D);
    _EXT(glCopyMultiTexImage1D);
    _EXT(glCopyMultiTexImage2D);
    _EXT(glCopyMultiTexSubImage1D);
    _EXT(glCopyMultiTexSubImage2D);
    _EXT(glGetMultiTexImage);
    _EXT(glGetMultiTexParameterfv);
    _EXT(glGetMultiTexParameteriv);
    _EXT(glGetMultiTexLevelParameterfv);
    _EXT(glGetMultiTexLevelParameteriv);
    _EXT(glMultiTexImage3D);
    _EXT(glMultiTexSubImage3D);
    _EXT(glCopyMultiTexSubImage3D);
    _EXT(glEnableClientStateIndexed);
    _EXT(glDisableClientStateIndexed);
    _EXT(glEnableClientStatei);
    _EXT(glDisableClientStatei);
    _EXT(glEnableVertexArray);
    _EXT(glDisableVertexArray);
    _EXT(glEnableVertexArrayAttrib);
    _EXT(glDisableVertexArrayAttrib);
    _EXT(glGetFloatIndexedv);
    _EXT(glGetDoubleIndexedv);
    _EXT(glGetIntegerIndexedv);
    _EXT(glGetBooleanIndexedv);
    _EXT(glGetPointerIndexedv);
    _EXT(glEnableIndexed);
    _EXT(glDisableIndexed);
    _EXT(glIsEnabledIndexed);
    _EXT(glCompressedTextureImage3D);
    _EXT(glCompressedTextureImage2D);
    _EXT(glCompressedTextureImage1D);
    _EXT(glCompressedTextureSubImage3D);
    _EXT(glCompressedTextureSubImage2D);
    _EXT(glCompressedTextureSubImage1D);
    _EXT(glGetCompressedTextureImage);
    _EXT(glCompressedMultiTexImage3D);
    _EXT(glCompressedMultiTexImage2D);
    _EXT(glCompressedMultiTexImage1D);
    _EXT(glCompressedMultiTexSubImage3D);
    _EXT(glCompressedMultiTexSubImage2D);
    _EXT(glCompressedMultiTexSubImage1D);
    _EXT(glGetCompressedMultiTexImage);
    _EXT(glMatrixLoadTransposef);
    _EXT(glMatrixLoadTransposed);
    _EXT(glMatrixMultTransposef);
    _EXT(glMatrixMultTransposed);

    if(globals4es.queries) {
        _EX(glGenQueries);
        _EX(glIsQuery);
        _EX(glDeleteQueries);
        _EX(glBeginQuery);
        _EX(glEndQuery);
        _EX(glGetQueryiv);
        _EX(glGetQueryObjectiv);
        _EX(glGetQueryObjectuiv);
        _EX(glQueryCounter);
        _EX(glGetQueryObjecti64v);
        _EX(glGetQueryObjectui64v);

        _ARB(glGenQueries);
        _ARB(glIsQuery);
        _ARB(glDeleteQueries);
        _ARB(glBeginQuery);
        _ARB(glEndQuery);
        _ARB(glGetQueryiv);
        _ARB(glGetQueryObjectiv);
        _ARB(glGetQueryObjectuiv);
        _ARB(glQueryCounter);
    }

    // GL_ARB_multisample
    _ARB(glSampleCoverage);

    // extra shaders stuff
    #define THUNK(suffix) \
    _EX(glVertexAttrib1##suffix); \
    _EX(glVertexAttrib2##suffix); \
    _EX(glVertexAttrib3##suffix); \
    _EX(glVertexAttrib4##suffix); \
    _EXT(glVertexAttrib1##suffix); \
    _EXT(glVertexAttrib2##suffix); \
    _EXT(glVertexAttrib3##suffix); \
    _EXT(glVertexAttrib4##suffix);
    THUNK(s);
    THUNK(d);
    THUNK(sv);
    THUNK(dv);
    #undef THUNK
    #define THUNK(suffix) \
    _EX(glVertexAttrib4##suffix##v); \
    _EX(glVertexAttrib4u##suffix##v); \
    _EX(glVertexAttrib4N##suffix##v); \
    _EX(glVertexAttrib4Nu##suffix##v);\
    _EXT(glVertexAttrib4##suffix##v); \
    _EXT(glVertexAttrib4u##suffix##v); \
    _EXT(glVertexAttrib4N##suffix##v); \
    _EXT(glVertexAttrib4Nu##suffix##v);
    THUNK(b);
    THUNK(s);
    THUNK(i);
    #undef THUNK
    _EX(glGetVertexAttribdv);
    _EXT(glGetVertexAttribdv);
    _ARB(glGetVertexAttribdv);
    _EX(glVertexAttrib4Nub);
    _EXT(glVertexAttrib4Nub);
    _ARB(glVertexAttrib4Nub);
    // arb version of shader stuffs
    //  GL_ARB_vertex_shader
    _ARB(glVertexAttrib1f);
    _ARB(glVertexAttrib1s);
    _ARB(glVertexAttrib1d);
    _ARB(glVertexAttrib2f);
    _ARB(glVertexAttrib2s);
    _ARB(glVertexAttrib2d);
    _ARB(glVertexAttrib3f);
    _ARB(glVertexAttrib3s);
    _ARB(glVertexAttrib3d);
    _ARB(glVertexAttrib4f);
    _ARB(glVertexAttrib4s);
    _ARB(glVertexAttrib4d);
    _ARB(glVertexAttrib4Nub);
    _ARB(glVertexAttrib1fv);
    _ARB(glVertexAttrib1sv);
    _ARB(glVertexAttrib1dv);
    _ARB(glVertexAttrib2fv);
    _ARB(glVertexAttrib2sv);
    _ARB(glVertexAttrib2dv);
    _ARB(glVertexAttrib3fv);
    _ARB(glVertexAttrib3sv);
    _ARB(glVertexAttrib3dv);
    _ARB(glVertexAttrib4fv);
    _ARB(glVertexAttrib4sv);
    _ARB(glVertexAttrib4dv);
    _ARB(glVertexAttrib4iv);
    _ARB(glVertexAttrib4bv);
    _ARB(glVertexAttrib4ubv);
    _ARB(glVertexAttrib4usv);
    _ARB(glVertexAttrib4uiv);
    _ARB(glVertexAttrib4Nbv);
    _ARB(glVertexAttrib4Nsv);
    _ARB(glVertexAttrib4Niv);
    _ARB(glVertexAttrib4Nubv);
    _ARB(glVertexAttrib4Nusv);
    _ARB(glVertexAttrib4Nuiv);
    _ARB(glVertexAttribPointer);
    _ARB(glEnableVertexAttribArray);
    _ARB(glDisableVertexAttribArray);
    _ARB(glBindAttribLocation);
    _ARB(glGetActiveAttrib);
    _ARB(glGetAttribLocation);
    _ARB(glGetVertexAttribdv);
    _ARB(glGetVertexAttribfv);
    _ARB(glGetVertexAttribiv);
    _ARB(glGetVertexAttribPointerv);
    // GL_ARB_fragment_shader (nothing)
    // GL_ARGB_shader_objects
    _ARB(glDeleteObject);
    _ARB(glGetHandle);
    _ARB(glDetachObject);
    _ARB(glCreateShaderObject);
    _ARB(glShaderSource);
    _ARB(glCompileShader);
    _ARB(glCreateProgramObject);
    _ARB(glAttachObject);
    _ARB(glLinkProgram);
    _ARB(glUseProgramObject);
    _ARB(glValidateProgram);
    _ARB(glUniform1f);
    _ARB(glUniform2f);
    _ARB(glUniform3f);
    _ARB(glUniform4f);
    _ARB(glUniform1i);
    _ARB(glUniform2i);
    _ARB(glUniform3i);
    _ARB(glUniform4i);
    _ARB(glUniform1fv);
    _ARB(glUniform2fv);
    _ARB(glUniform3fv);
    _ARB(glUniform4fv);
    _ARB(glUniform1iv);
    _ARB(glUniform2iv);
    _ARB(glUniform3iv);
    _ARB(glUniform4iv);
    _ARB(glUniformMatrix2fv);
    _ARB(glUniformMatrix3fv);
    _ARB(glUniformMatrix4fv);
    _ARB(glGetObjectParameterfv);
    _ARB(glGetObjectParameteriv);
    _ARB(glGetInfoLog);
    _ARB(glGetAttachedObjects);
    _ARB(glGetUniformLocation);
    _ARB(glGetActiveUniform);
    _ARB(glGetUniformfv);
    _ARB(glGetUniformiv);
    _ARB(glGetShaderSource);
    _EX(glProgramUniform1f);
    _EX(glProgramUniform2f);
    _EX(glProgramUniform3f);
    _EX(glProgramUniform4f);
    _EX(glProgramUniform1i);
    _EX(glProgramUniform2i);
    _EX(glProgramUniform3i);
    _EX(glProgramUniform4i);
    _EX(glProgramUniform1fv);
    _EX(glProgramUniform2fv);
    _EX(glProgramUniform3fv);
    _EX(glProgramUniform4fv);
    _EX(glProgramUniform1iv);
    _EX(glProgramUniform2iv);
    _EX(glProgramUniform3iv);
    _EX(glProgramUniform4iv);
    _EX(glProgramUniformMatrix2fv);
    _EX(glProgramUniformMatrix3fv);
    _EX(glProgramUniformMatrix4fv);
    // EXT version of Shaders functions
    _EXT(glAttachShader);
    _EXT(glBindAttribLocation);
    _EXT(glCompileShader);
    _EXT(glCreateProgram);
    _EXT(glCreateShader);
    _EXT(glDeleteProgram);
    _EXT(glDeleteShader);
    _EXT(glDetachShader);
    _EXT(glGetActiveAttrib);
    _EXT(glGetActiveUniform);
    _EXT(glGetAttachedShaders);
    _EXT(glGetAttribLocation);
    _EXT(glGetProgramInfoLog);
    _EXT(glGetProgramiv);
    _EXT(glGetShaderInfoLog);
    _EXT(glGetShaderPrecisionFormat);
    _EXT(glGetShaderSource);
    _EXT(glGetShaderiv);
    _EXT(glGetUniformLocation);
    _EXT(glGetUniformfv);
    _EXT(glGetUniformiv);
    _EXT(glGetVertexAttribPointerv);
    _EXT(glGetVertexAttribfv);
    _EXT(glGetVertexAttribiv);
    _EXT(glIsProgram);
    _EXT(glIsShader);
    _EXT(glReleaseShaderCompiler);
    _EXT(glShaderBinary);
    _EXT(glShaderSource);
    _EXT(glUniform1f);
    _EXT(glUniform1fv);
    _EXT(glUniform1i);
    _EXT(glUniform1iv);
    _EXT(glUniform2f);
    _EXT(glUniform2fv);
    _EXT(glUniform2i);
    _EXT(glUniform2iv);
    _EXT(glUniform3f);
    _EXT(glUniform3fv);
    _EXT(glUniform3i);
    _EXT(glUniform3iv);
    _EXT(glUniform4f);
    _EXT(glUniform4fv);
    _EXT(glUniform4i);
    _EXT(glUniform4iv);
    _EXT(glUniformMatrix2fv);
    _EXT(glUniformMatrix3fv);
    _EXT(glUniformMatrix4fv);
    _EXT(glUseProgram);
    _EXT(glValidateProgram);
    _EXT(glVertexAttrib1f);
    _EXT(glVertexAttrib1fv);
    _EXT(glVertexAttrib2f);
    _EXT(glVertexAttrib2fv);
    _EXT(glVertexAttrib3f);
    _EXT(glVertexAttrib3fv);
    _EXT(glVertexAttrib4f);
    _EXT(glVertexAttrib4fv);
    _EXT(glVertexAttribPointer);
    _EXT(glVertexPointer);
    _EXT(glProgramUniform1f);
    _EXT(glProgramUniform2f);
    _EXT(glProgramUniform3f);
    _EXT(glProgramUniform4f);
    _EXT(glProgramUniform1i);
    _EXT(glProgramUniform2i);
    _EXT(glProgramUniform3i);
    _EXT(glProgramUniform4i);
    _EXT(glProgramUniform1fv);
    _EXT(glProgramUniform2fv);
    _EXT(glProgramUniform3fv);
    _EXT(glProgramUniform4fv);
    _EXT(glProgramUniform1iv);
    _EXT(glProgramUniform2iv);
    _EXT(glProgramUniform3iv);
    _EXT(glProgramUniform4iv);
    _EXT(glProgramUniformMatrix2fv);
    _EXT(glProgramUniformMatrix3fv);
    _EXT(glProgramUniformMatrix4fv);

    //Binary program
    _EX(glGetProgramBinary);
    _EX(glProgramBinary);
    _EXT(glGetProgramBinary);
    _EXT(glProgramBinary);
    _ARB(glGetProgramBinary);
    _ARB(glProgramBinary);

    //ARB_draw_elements_base_vertex / EXT_draw_elements_base_vertex
    _EX(glDrawElementsBaseVertex);
    _EXT(glDrawElementsBaseVertex);
    _ARB(glDrawElementsBaseVertex);
    _EX(glDrawRangeElementsBaseVertex);
    _EXT(glDrawRangeElementsBaseVertex);
    _ARB(glDrawRangeElementsBaseVertex);
    _EX(glMultiDrawElementsBaseVertex);
    _EXT(glMultiDrawElementsBaseVertex);
    _ARB(glMultiDrawElementsBaseVertex);

    //GL_ARB_draw_instanced
    _EX(glDrawArraysInstanced);
    _EXT(glDrawArraysInstanced); // not sure _EXT is needed...
    _ARB(glDrawArraysInstanced);
    _EX(glDrawElementsInstanced);
    _EXT(glDrawElementsInstanced);
    _ARB(glDrawElementsInstanced);
    _EX(glDrawElementsInstancedBaseVertex);
    _EXT(glDrawElementsInstancedBaseVertex);
    _ARB(glDrawElementsInstancedBaseVertex);

    //GL_ARB_instanced_arrays
    _EX(glVertexAttribDivisor);
    _EXT(glVertexAttribDivisor);
    _ARB(glVertexAttribDivisor);

    // stub non-squared matrix access
    STUB(glUniformMatrix2x3fv);
    STUB(glUniformMatrix3x2fv);
    STUB(glUniformMatrix2x4fv);
    STUB(glUniformMatrix4x2fv);
    STUB(glUniformMatrix3x4fv);
    STUB(glUniformMatrix4x3fv);

    //TexStorage
    _EX(glTexStorage1D);
    _EX(glTexStorage2D);
    _EX(glTexStorage3D);

    _EX(glClampColor);
    _EXT(glClampColor);

    //GL_ARB_vertex_program
    if(hardext.esversion>1) {
        _EX(glProgramStringARB);
        _EX(glBindProgramARB);
        _EX(glDeleteProgramsARB);
        _EX(glGenProgramsARB);
        _EX(glProgramEnvParameter4dARB);
        _EX(glProgramEnvParameter4dvARB);
        _EX(glProgramEnvParameter4fARB);
        _EX(glProgramEnvParameter4fvARB);
        _EX(glProgramLocalParameter4dARB);
        _EX(glProgramLocalParameter4dvARB);
        _EX(glProgramLocalParameter4fARB);
        _EX(glProgramLocalParameter4fvARB);
        _EX(glGetProgramEnvParameterdvARB);
        _EX(glGetProgramEnvParameterfvARB);
        _EX(glGetProgramLocalParameterdvARB);
        _EX(glGetProgramLocalParameterfvARB);
        _EX(glGetProgramivARB);
        _EX(glGetProgramStringARB);
        _EX(glIsProgramARB);

        // GL_EXT_program_parameters
        _EX(glProgramEnvParameters4fvEXT)
        _EX(glProgramLocalParameters4fvEXT)
    }

    //Sampler
    _EX(glGenSamplers);
    _EX(glBindSampler);
    _EX(glDeleteSamplers);
    _EX(glIsSampler);
    _EX(glSamplerParameterf);
    _EX(glSamplerParameteri);
    _EX(glSamplerParameterfv);
    _EX(glSamplerParameteriv);
    _EX(glSamplerParameterIiv);
    _EX(glSamplerParameterIuiv);
    _EX(glGetSamplerParameterfv);
    _EX(glGetSamplerParameteriv);
    _EX(glGetSamplerParameterIiv);
    _EX(glGetSamplerParameterIuiv);

    DBG(printf("NULL\n");)
    if (!globals4es.silentstub) LOGD("GL4ES GetProcAddress: %s not found.\n", name);
    return NULL;
}


text:
CELEB STORIES
_NOSTALGIC
_MEMORIES
Home / Fahadh Faasil / Indrajith / Lijo Jose Pellissery / malayalam cinema / malayalam film news / malayalam movie / malayalam movie Antichrist / Prithviraj / "Disco" dropped, Lijo ahead with "Antichrist" !
"Disco" dropped, Lijo ahead with "Antichrist" !
July 10, 2013 Fahadh Faasil, Indrajith, Lijo Jose Pellissery, malayalam cinema, malayalam film news, malayalam movie, malayalam movie Antichrist, Prithviraj
Earlier we have reported about director Lijo Jose Pellissery's new movie "Disco", but now its seems that director has changed his mind and decided to move with the new Malayalam movie, which is titled as "Antichrist". It will be a horror flick and star studded cast include Prithviraj, Fahadh Faasil and Indrajith in the central characters.
The director himself announced his fourth project on social network site by writing "My next project is titled 'Antichrist'.
The film is a horror thriller & is due for 2014 summer release. 'Antichrist' is written by national award winning writer P F Mathews featuring Prithviraj Sukumaran, Fahadh Faasil and Indrajith Sukumaran,". Well scriptwriter P F Mathews has written the script of national award winning Malayalam film "Kutty Srank".
The crew of "Amen" Malayalam film, almost the same will work for this new movie. Abhinandan Ramanujan will wield the camera, Prashanth Pillai is the music director. Editing by Manoj and sound designs by Ranganath Ravee. After the movie "Honey Bee", Sibi Thottupuram and Joby Mundamuttom under the banner of S J M Entertainments will produce this Malayalam movie "Antichrist".
Well the expectations are high.., but you have to wait till next summer....
Kanaka - What Happened in actress life ? Cancer or Death myths
Earlier look of actress Kanaka Mahalakshmi Remember Kanaka actress with wide eyes, thin beautiful girl. A heroine filled with mischief...
Nivin Pauly Latest Upcoming Movies
With the coming of age, Nivin Pauly has proved that he is not here to survive instead to conquer the Mollywood. With back to back blockbu...
Bharath Gopi : True Companion of Parallel Cinema
image credits - http://bharatgopy.com 'Motivation has always considered as a boon...', especially in case of Indian cinema. If ...
malayalam cinema malayalam films Mohanlal Mammootty Prithviraj Jayasurya Dileep Nivin Pauly Fahadh Faasil Dulquer Salmaan
Blog Archive September (1) June (11) May (14) April (6) March (3) January (1) September (5) June (3) February (1) January (2) December (2) November (5) September (1) August (2) March (5) February (41) January (59) December (38) November (40) October (91) September (63) August (59) July (27) June (3) May (10) April (41) March (58) February (63) January (64) December (47) November (45) October (43) September (37) August (45) July (53) June (68) May (87) April (78) March (97) February (64) January (57) December (80) November (57) October (55) September (51) August (43) July (75) June (67) May (68) April (68) March (72) February (63) January (68) December (55) November (49) October (47) September (35) August (30) July (37) June (59) May (60) April (57) March (49) February (20) January (66) December (47) November (53) October (79) September (67) August (33) July (14) June (6) May (4) April (8) March (5) February (2) October (1) April (1) February (1) January (1) December (1) October (4) September (1)
mollywoodframes copyright ©. All Rights Reserved. Powered by Blogger.
Mollywoodframes CopyRight ©. All Rights Reserved Powered by Blogger

redpajama_set_name: RedPajamaCommonCrawl


text:
Business of Healthcare
Funny Bone
CH Print Magazine
Print Publication
Hope for Huntington's Disease?
A progressive and fatal neurological disease, Huntington's disease affects the entire brain. It's "a constellation of three types of issues:…
You've Gotta Have Heart
Taking steps to protect your ticker Let's get to the heart of the matter. The heart is one of the…
The Heart's Hidden Risks
Are you aware of these lesser-known factors for cardiovascular disease? Most of us know the drill when it comes to…
Miss-Diagnosed: Heart disease is the number one killer of women, yet it's often hidden
Who do you picture when you think of a typical heart disease patient? Most people think of an older, overweight…
Sexuality, Aging and the Rise of Sexually Transmitted Infections
By Rhonda Alexander During teenage and young-adult years, sexually transmitted infections (STI)—and how to prevent them—is a regular topic of…
The Unshakeable Truth
Assumptions about Parkinson's may slow the cure's progressBy Nancy Maes Misconceptions about Parkinson's disease are common. The casual observer who…
Divided Attention
Kids with ADHD can become adults with ADHD and other problems By Nancy Maes A new study by researchers at…
The Flu Outbreak
Why it broke and whether it's fixed By David Himmel It begins with an ache. Then a chill. And before…
Sweet Technology
Living with and managing type 1 diabetes November is National Diabetes Awareness Month, and with over 8 percent of the…
Sickle Cell Awareness Month: Are You Aware?
Our writer admits ignorance and investigates to learn more What do you know about sickle cell disease? Or, what don't…
The Waiting Game
Facing down an incurable cancer with optimism and research In late November of 2006, the pain in Bill Herlihy's back…
CT Scan Conundrum
Radioactive scans can save lives, but at what risk? Over the past decade, the number of computerized axial tomography scans,…
Gene studies advance medicines and profit for Alzheimer's Denise Combs remembers the moment when she first realized her husband John…
Cancer's Target
Pancreatic cancer remains one of the deadliest forms of cancer and most difficult to treat The announcement that Steve Jobs…
A Quiet Killer
HPV awareness can save lives The Human Papillomavirus, commonly known as HPV, is quietly claiming the lives of thousands of…
Diagnosed with Osteoporosis: Questions To Ask Your Doctor
Dr. Pauline Camacho, director of the Loyola University Health System Osteoporosis and Metabolic Bone Disease Center, encourages patients to approach…
Bone Deep: All About Osteoporosis
It's all too easy to take our bones for granted. Day to day, they feel so strong and permanent, but…
Get the Latest Health News Directly in Your Inbox
© Copyright 2023 - Chicago Health. Northwest Publishing, LLC. All Rights Reserved.
Website Designed by Andrea Fowler Design


text:
Fire on the Salween: Dams in conflict zones could threaten Myanmar's fragile peace process
The five large hydroelectric projects planned for Myanmar's stretch of the Salween River all fall in or near areas of contested governance. Pushing the projects through could undermine already troubled efforts to end decades of conflict in Myanmar's ethnic border states. by Demelza Stokes on 1 December 2016 |
Mongabay Series: Mekong dams, Southeast Asian infrastructure
Ethnic armed groups in Myanmar's border states have been in conflict with the central government for more than half a century.
Civil society groups, ethnic political groups and ethnic armed groups already blame the Salween dams for either exacerbating existing conflict or prompting new military incursions.
The UNHCR estimates that as of December 2015, Myanmar already has some 400,000 internally displaced persons, entire communities who have had to flee from war, natural disasters or development projects. Many fear the dams could create thousands more.
Leh Paw, an ethnic Karen woman taking refuge in Htee Htay Khee village speaks with Mongabay in November. Photo by Demelza Stokes.
"I just get poorer and poorer," Leh Paw, a Karen woman recently displaced due to conflict in Myanmar's Karen (Kayin) state, told Mongabay in November.
This is the third time in 30-year-old Leh Paw's life that she has been forced to leave her village due to conflict, "You see me now, I live in poverty. I just get poorer and poorer, until I have nothing. Because of the conflict I have had to flee, again and again. And when we flee we have to give up everything, our property, paddy fields, buffalos, crops. We have nothing left."
Leh Paw is from Po Chi Ler village in the Myaing Gyi Ngu area of Hlaingbwe township, Karen state. She fled from her home earlier this year due to ongoing violent clashes between the Tatmadaw, its allied Border Guard Force (BGF), and a splinter group of the Democratic Karen Benevolent Army (DKBA). Along with her husband and two children, Leh Paw is among over 300 internally displaced persons (IDPs) who are still taking refuge in Htee Thay Khee village on the bank of the west bank of the Moei River in eastern Myanmar, at the border with Thailand.
Htee Thay Khee's IDPs are the latest in hundreds of thousands of ethnic minority people who have been displaced through Myanmar's decades of conflict. In 2014 there were approximately 110,000 IDPs in southeast Myanmar, displaced due to war, natural disasters or large-scale development projects, according to a survey by The Border Consortium (a group of non-governmental organizations). To the north, 300,000 people are thought to have been displaced from Shan state alone during Myanmar army (Tatmadaw) offensives in the 1990s.
Hlaingbwe in Karen (Kayin) State lies north of the Salween Delta, between Yangon and the Thai border. Inset shows conflicts from the 1990s until early 2016. Map courtesy of Map for Environment, inset courtesy of CenterLeftRight and Aoetearoa/Wikimedia Commons.
This is the second article in a five-part series exploring Myanmar's Salween landscape amid galvanizing plans to develop hydropower projects along its course.
Part I outlines plans being made by businesses and governments in China, Thailand and Myanmar to harness the Salween's vast hydroelectric potential.
Part III uncovers some of the Salween's ethnic and ecological biodiversity at stake, focusing on the Kun Heng "thousand islands," a unique riverine ecology facing submersion under the Mong Ton dam reservoir in Shan State.
Part IV meets actors involved in creating the 'Salween Peace Park," combining wildlife conservation and peace-building in Karen State, where the world's longest running civil war has raged since 1949.
Part V focuses on downstream Salween communities' livelihoods and ongoing changes facing the broader Salween landscape due to Myanmar's rapid economic development.
Lieutenant Colonel Kyaw Mue of the KNLA's Brigade 5 has been based on the Salween for over 20 years. Photo by Demelza Stokes.
Myanmar's ethnic border states have been riven by almost seventy years of conflict. From a few months after Myanmar gained independence in January 1948 right up until today, ethnic organizations have been pursuing armed struggle to advance their political demands. These have ranged from full independence to greater autonomy and federalism, and started with the Karen National Union (KNU) which began fighting government forces in early 1949.
Since 2011 — when former-general Thein Sein was sworn in as president of the new nominally-civilian government after the country's first elections in 20 years — Myanmar has undergone significant reforms and has tried to initiate a comprehensive peace process. On October 15, 2015, the Tatmadaw and eight armed groups signed a multilateral agreement, known as the Nationwide Ceasefire Agreement (NCA). It is not truly "nationwide," however, since many ethnic armed organizations did not sign it — including seven ethnic armed organizations that have signed separate bilateral ceasefires with the Thein Sein-led government, and four that have no individual ceasefire agreements with the government and are involved in ongoing conflict with the Tatmadaw.
Building on the patchy NCA, this year's newly elected government (led by the National League for Democracy) convened with the country's armed groups to negotiate a national peace settlement at the "Union Peace Conference" during August and September. Meanwhile, conflict continues, and fighting has intensified in northern Shan state during November between an alliance of four ethnic armed groups (none of whom are signatories to the NCA) and the Myanmar army, leading to the recent displacement of 3,000 people to China.
A soldier from the Karen National Liberation Army's Brigade 5 stands on the west bank of the Salween. Photo by Demelza Stokes.
Amid Myanmar's intensely complex conflict scenario, plans press forward to build the five large Salween dams, which all lie in or near areas of contested governance in Shan, Karenni and Karen states. Due to the dangerous situation on the ground in most of the dam site areas, it is extremely difficult for researchers, journalists and local civilians to independently verify the status of the projects.This August, Myanmar's Ministry of Electricity and Energy's (MOEP) permanent secretary said at a press conference that the Salween dams would go ahead. And in a recent Strategic Environmental Assessment workshop (more in Part III), the MOEP outlined estimated completion dates for the dams, running from 2021-2031.
The nationwide SEA aims to "promote consensus on a sustainable hydropower development pathway for Myanmar," and is being led by the World Bank Group's International Finance Corporation (IFC), which signed an advisory services agreement to cooperate with the government in implementing the SEA. Observers welcome the SEA as an opportunity to improve public engagement and negotiation across Myanmar's hydropower sector, and the introduction of international standards such as the IFC's Performance Standards for companies operating in Myanmar. The IFC's Performance Standard 4 encourages sensitivity to the risks of operating (investing) in conflict or post-conflict scenarios, stating that the risks that a project could exacerbate an existing sensitive local situation should "not be overlooked as it may lead to further conflict."
Fear of the dams fueling more conflict in Myanmar's ethnic areas led to a coalition of ethnic Shan political groups to call for the government to halt the Salween dam plans in August this year. "This is a conflict area, until now, the dams could affect peace and cause a lot more conflict in our ethnic areas," Nang War Nu, Director of the Kun Heing Foundation and ex-member of parliament for the Shan Nationalities Democratic Party told Mongabay.Further to the south in Karen state, ethnic political and military leaders have also urged the government to put a moratorium on the Salween dam projects until there is real peace in the country. "During the peace process, or until we have genuine peace, any mega-development projects should not go ahead," General Baw Kyaw Heh, Vice Chief of Staff of the KNU's armed wing, told Mongabay earlier this year. "These deals were signed between the Myanmar government and the foreign companies, not with the inclusion of the Karen people. We haven't been included in any discussion regarding how these dams will benefit the people. In fact, they have created destruction even before they've been started." he said.
Observers question the government's ability to ensure genuinely participatory and transparent consultations with communities living around the Salween dams as IDPs continue to flee from conflict near the sites in Myanmar's Shan and Karen states (more in Part III). "It is unclear whether the SEA will be able to stop the clock on controversial projects to enable meaningful and inclusive debate about whether projects should be built," Pianporn Deetes, Thailand campaign coordinator at environmental group International Rivers told Mongabay.
Construction activities already beginning at the Mong Ton dam site. The Mong Ton dam will be one of the largest in Southeast Asia, and is according to the project's website, is a US$10 billion dollar project. An environmental impact assessment conducted for the dam in 2015 has been branded a "rubberstamp" by local communities and civil society groups vehemently opposed to the dam. Photo courtesy of the Mong Pan Youth Association.
Evidence of construction activities already occurring at the dam sites highlights the massive discrepancies between hopes at policy level in Naypyidaw (Myanmar's capital) and the reality of life on the ground in active conflict zones, where a multitude of actors operate outside the control of the central government (including possibly the Myanmar army and private companies). UN special rapporteur on human rights for Myanmar Yanghee Lee said in July she "observed the very real tension between a new civilian leadership and a bureaucracy inherited from previous military regimes which often resulted in a duality in policy and approach."
Critics of the dams fear the projects are already bulldozing ahead with scant regard for the welfare of local people and with no genuine mechanisms in place to ensure that they are either involved in public consultations or receive fair compensation if they give up their land for the projects. Land disputes in Myanmar are a "major national problem" according to Human Rights Watch, which found those displaced by natural resource extraction and infrastructure projects (even in peaceful areas) are often displaced without adequate consultation, compensation, or due process of law.In Karen state, ethnic Karen leaders and local people directly connect recent fighting in Karen state with the drive to build the Hat Gyi dam.
The clashes in September this year in Myaing Gyi Ngu and Mae Tha Waw areas of Karen state's Hlaingbwe township led to the displacement of around five thousand people. Some attribute this year's conflict to efforts by the Tatmadaw via its allied BGF to rein in a renegade DKBA-splinter group, who are not a signatory to the NCA. But observing the topography of the areas in question, some ethnic political leaders in the KNU, leaders of the KNU's armed wing, the Karen National Liberation Army (KNLA), and civil society link the recent conflict in Karen state with the need to secure access roads to and the Hat Gyi dam site.
Lieutenant Colonel Kyaw Mue of the KNLA's Brigade 5 has been based on the Salween for over 20 years. "I don't think it is good to build dams on Salween River in our territories at this moment as the peace process is not completed and there is no certainty for a lasting peace," he told Mongabay. Photo by Demelza Stokes.
The fighting occurred in areas along the Myaing Gyi Ngu – Mae Tha Waw road, which runs from near to the Hat Gyi site to the Thai border. Observers call it an "access road" to Hat Gyi, that will be needed to transport construction materials from the Thai border to begin work on the dam. The KNLA's General Baw Kyaw Heh told NGO Karen Rivers Watch (KRW) in a statement this year, "In order to implement the plan for Hat Gyi Dam, the Burmese and BGF must have full control of the road and the surrounding areas." In their statement, KRW accuses the Tatmadaw of "using the pretense of eliminating the DKBA splinter group to take control of more Karen areas" around the dam site.
"It is important that fighting stops in the area. It is KNU policy that before we have reached a political agreement with the government, these mega-projects should not be built," Naw Zipporah Sein, vice chairperson of the KNU, told Mongabay in a phone interview. Concerned with the recent escalation in fighting, the KNU released a statement on September 13 calling for the Tatmadaw and the BGF to cease military activity in Karen state, stating it could derail the peace process.
The Hat Gyi dam will be located in Karen state's Hlaingbwe township, approximately fifty kilometers from the Thai border and 100 kilometers from the mouth of the river in Mon state, where it flows into the Bay of Bengal. The 1,360 MW project, will be developed by EGAT International Co. Ltd. (a subsidiary of the Thailand's state-owned Electricity Generating Authority), Myanmar's energy ministry (MOEP), Myanmar's International Group of Entrepreneurs Co. (IGE), and Chinese state-owned Sinohydro. IGE company is owned by the son of former military regime minister Aung Thaung, who died last year, and was placed on the United States Treasury Department's blacklist in 2014 for '…perpetuating violence, oppression, and corruption,' as well as undermining Myanmar's democratic transition. The MOEP's estimated completion date for the Hat Gyi dam is 2020-2021.
Ethnic Karen women sit in Htee Htay Khee village on Myanmar's border with Thailand in November this year. Many of the IDPs in Htee Htay Khee fled with nothing, leaving behind property, belongings, and crops in their villages in Hlaingbwe township's Myaing Gyi Ngu area. Photo by Demelza Stokes.
MILITARIZATION AROUND THE DAMS ALREADY MAKING LIFE UNBEARABLE FOR CIVILIANS
Researchers have documented militarization of the Salween dam areas through expansion of army camps and army personnel, increased checkpoints along access roads, and through the provision of security for construction companies (and mining or logging companies). Some of the areas have essentially become no-go zones for local people. "When the companies come to visit and implement the projects, the military comes to protect them and provides security. Because of that they also don't allow locals to go there," Nang Kham Mai, campaign coordinator at the Shan Sapawa Environmental Organization, told Mongabay.
Residents living around the Salween dam sites have documented an increase in other activities such as logging and mining in the future reservoir sites. Companies affiliated with the Tatmadaw, the Tatmadaw itself and ethnic armed groups all engage in a militarized extraction of Myanmar's rich natural resources. In areas where rule of law is thin on the ground, this carries with it a deluge of threats (and human rights abuses) to local people living near the dam sites where preemptive resource extraction takes place. The Shan Human Rights Foundation (SHRF) reported in 2013 that the Tatmadaw provided security for loggers clearing teak from the Mong Ton dam's projected flood zone, and conscripted local villagers into forced labor for the military. Forced labor and a host of other human rights violations by armed groups have propelled thousands of ethnic Shan people to migrate to Thailand over the last two decades.
A Chinese gold mining boat picture north of the Mong Ton dam site in 2015. Photo courtesy of the Mong Pan Youth Association.
More recently, local researchers working on a project with think-tank CGIAR documented in February this year that the Myanmar army and a Lahu militia provide security for the Chinese construction and gold mining companies currently operating at the Mong Ton dam site. Chinese companies hired the Lahu militia through the Myanmar army to provide them with protection, villagers living near the dam site claimed. The villagers also told researchers that when the Chinese (and their security) are present, they are too afraid to venture into the forest except during daylight hours, and do not go to the river to fish or pan for gold at any time the Chinese are present. Some activists are afraid that these conditions will result in a forceful depopulation of the area surrounding the Mong Ton dam site.
"Those who belong to the Thanlwin river are the people who will be most affected by the dams," Daw Nang Khin Thar Ye, current member of parliament and member of the Shan Nationalities League for Democracy, told Mongabay. "They have already suffered from years of war, so I am against the dam projects," she said.Whether or not dams are a root cause of conflict in Myanmar, ongoing conflict and well-documented militarization around the dam sites is causing the displacement of thousands of ethnic people, many of whom remain unable to return home.
With the dams moving forward in the meantime, it remains to be seen if Myanmar's new civilian government can ensure dam companies commit to international standards of practice and ensure affected peoples' human rights. For now, villagers fleeing conflict in the Myaing Gyi Ngu area are too afraid to return because of landmines planted during this year's conflict. "I fled with nothing," Leh Paw told Mongabay, "I came here in the clothes I am in. We left all our belongings. We couldn't carry food, rice, or clothes. We didn't finish planting our crops. My husband wants to go back, but we are too scared."
Continue reading Part III, which explores ethnic and ecological diversity in areas that will be affected by the dams.
Article published by Isabel Esterman
Alternative Energy, China And Energy, Conflict, Dams, Energy, Energy Politics, Environment, Featured, Human Rights, Indigenous Peoples, Indigenous Rights, Infrastructure, Renewable Energy, Social Conflict


The personal meaning of objects… the role of visualization in memory… a construct of the world created through the recognition of objects and of people. Threaded through these narratives has been an overarching theme – that our human senses are extraordinarily perceptive! We are capable of distinguishing subtle and nuanced differences in the properties of objects. Beyond this, our capability to process and filter the meaning of these differences is incredibly sophisticated.
As children, we are very open to sensing these differences. When we grow up, we are more likely to make assumptions based on past experience than to engage in careful observation. A habit of economy, perhaps honed through natural selection; if a fight or flight decision should arise, our chance of survival is better if we can rely on stored information – rather than stopping to inspect each blade of grass, or each individual snowflake.
Of course, if we were to be once again like a child, unable to filter our observations or to rely on our mental construct of the world, we would never get anything done. Every moment would be a voyage of discovery, interesting and new, all the time! Exhausting. We would stand and marvel at the universe around us, and never get down to the practical necessities of life.
Yet something is undeniably lost if we entirely let go of the acute childhood powers of observation. Give yourself the opportunity to be genuinely open and receptive and you may rekindle a childlike sense of wonder within. The enjoyment of a collection of objects can be one such experience.
There are many kinds of collections and reasons for collecting, and to be sure, not all of them can be appreciated in this way. Some may exist to illustrate an aspect of history or science, or a cultural narrative. Some may be beautiful, some disturbing. But the extent to which an individual can connect to a collection depends greatly on the interaction between one's personal construct, the objects themselves, and the way in which they are presented to us, in a thematic sense.
In this interaction, there are two roles to play. One is the observer, and the second is the selective self, the editor, the orchestrator. Sometimes we may take on one role, sometimes the other – and sometimes both at once. The latter role is that of framing an experience, while the former role appears deceptively simple… to once again be the eager child who is receptive and alight with wonder, to be for a moment free from the comfortable and familiar construct of the world we have created, and simply be open – with wonder and delight.
Image: Photomicroscope Photographs of Snowflakes by Kenneth G. Libbrecht, Caltech, used with permission.
This entry was posted in Bowerbirdism and tagged Kenneth G. Libbrecht, Snowflake by Geoffrey Kumagai. Bookmark the permalink.


text:
Delonix pumila é uma espécie vegetal da família Fabaceae.

Apenas pode ser encontrada no seguinte país: Madagáscar.

Referências
  Du Puy, D. et al. 1998. Delonix pumila. 2006 IUCN Red List of Threatened Species.  Dados de 10 de Julho de 2007.

Delonix

redpajama_set_name: RedPajamaWikipedia


What would you consider as a speed world record smashing car? Perhaps a power loaded Lamborghini Aventador, McLaren 650S, Porsche Turbo S, Nissan GT-R or Tesla P90D? No, it is laughing stock of seventies, anything but 'mighty', tiny Enfield 8000.
The genius behind the project was british motoring jurnalist and serial car modifier Johnny Smith, who took inspiration from previous record beater - electric converted old Datsun owned by John Wayland from Portland Ohio, who managed quarter mille in 10.25 second.
Johnny used just 9.86 second for the same distance, which he covered with the average speed of 121 mph or 195 km/h on the Santa Pod Raceway last Saturday. The basis for record braking car was old age Enfield 8000, which was originally fited with 8 hp electric motor fueled by led acid batteries. Johnny instead equiped it with 800 bhp and 1627 Nm electric engine, which rockets it to 113 mph (182 km/h) in just six seconds. The engine is powered by 188 lithium-ion battery cells built into enclousers under the bonet and boot.
The most intriguing fact is, that despite its huge capabilities Smith's Enfield, dubbed Johnny's Flux Capacitor, is totaly road legal, tax exempt and even London congestion charge exempt.
This all-electric Corvette goes as fast as light!
Your body is your only limit. Do you know how fast a bike can go?
A milestone has been set at 86.50 mph (139.21 kmh).
Mischo Erban, a two-time World Champion downhill skater, and world record holder for fastest stand-up skateboarding has set a new world record skating on a runaway in Portorose airport. With electric board. Final speed? 95.83km/h!


text:
Destinationskeyboard_arrow_down
Destinations Areas Attractions Landscapes
In the heart of the Chianti, a medieval village cosseted by vineyards
Radda in Chianti is a classic Chianti hilltown, surrounded by vineyards. The view from the hilltop, on which the first stones of Radda were laid, engulfs a sea of vineyards that seem to go on to infinity. The local area is full of ancient settlements, and Radda's Etruscan origins are documented by recently discovered archaeological finds.
In the medieval period, Radda formed the base of the Chianti League, a political-military alliance created by the Republic of Florence in 1384 and tasked with safeguarding and presiding over the Chianti area on the Republic's behalf.
Where the scenery becomes a home for your soul
A place of stone and wine
What to see in Radda in Chianti
Documents confirm that Radda has been around since at least the ninth century, but the first mention of any castle was made two centuries later, when it was entered in an inventory for Emperor Otto III. In 1220 the area came into the hands of the Guidi Counts, with the permission of Frederick II; but by the end of the thirteenth century Radda belonged to Florence's dominions.
The heart of the town, which is dominated by what remains of the castle, is Piazza Ferrucci. This square is overlooked by the fourteenth-century Palazzo del Podestà, which has served as the town hall since 1865, and the parish church of San Niccolò, with its neogothic façade. Take a stroll through the narrow streets of the centre, and note the little walled orchards and vegetable gardens, which capture the essence of the Chianti: agriculture shaping the landscape.
Of the many castles that rise up in the Radda territory, that of Volpaia is most worth a visit. Today as in the eleventh century, the whole town is involved in the production of wine and olive oil. The wine presses and wineries are now often found underground, in deconsecrated churches, or in purpose-built places inside the town, linked by an unexpected subterranean "vinoduct".
Outside Radda, you might visit the parish church of Santa Maria Novella which, despite heavy restructuring work over the years, has managed to preserve its original Romanesque plan, as well as its numerous artworks.
Indeed, the Radda area is littered with pieces of the Romanesque, of which the church of Santa Maria in Prato is a shining example. This church contains a fifteenth-century Madonna and Child by Neri di Bicci, while its adjoining monastery has the Casa del Chianti Classico (Chianti Classico House) with exhibition rooms, in-depth guides and a hands-on educational tour through the wine's history.
It's but a few minutes' journey from Radda in Chianti to other Chianti villages, such as Castelnuovo Berardenga and Gaiole in Chianti. Keen cyclists can take the Eroica, a permanent route that follows dirt roads from the Chianti into the Crete Senese and then the Val d'Orcia.
A number of dynamic events are put on by collaborations involving different Chianti towns and villages. One of these is the Chianti Festival, which brings theatre, music and dance to Radda, Castelnuovo Berardenga, Castellina in Chianti and Gaiole in Chianti from June to August. In November comes Chianti d'Autunno, a rich calendar of events throughout the eight municipalities that make up the Chianti Classico: tasting sessions, conventions, exhibitions, diplays and markets.
Other local dates for the diary include the Festa del Perdono in late August and Radda nel Bicchiere in May, which offers yet more tasting sessions. Chianti Ultra Trail takes place in spring: three walks of 15, 42 and 73 km respectively, all of which start from Radda and wind through the vineyards.
Local dishes and produce
The Chianti is an area of robust culinary traditions. Its staple dishes include some sumptuous grilled meats and a wide variety of pork salamis, from the cinta senese breed to wild boar.
The flagship product of the area, of course, is Chianti Classico DOCG, a hearty red wine made mainly from Sangiovese grapes, which may - though not necessarily - be blended with other varieties.
The area also puts out a superb Chianti Classico DOP Extra Virgin Olive Oil. This is extracted from cold-pressed olives, which here come from one of four cultivars: Frantoio, Correggiolo, Moraiolo and Leccino.
hotel 68 Accommodation facilities arrow_forward
local_offer 4 Deals arrow_forward
Three Artisan Experiences in Tuscany
Chianti: nature and relaxation
7 bike rides to explore Chianti in the saddle
New Year's in the Chianti: top holidays with flavour and culture
Mini guide to 10 lesser-known hill towns in Tuscany
Tuscany: a rural paradise made of soft hills and hamlets
4 places to visit in the Chianti
Touring the Chianti area in Tuscany
A car tour along the Chiantigiana road
Chianti Classico Wine and Olive Oil Trail
Touring Central-South Tuscany on a motorcycle
6 days in the Chianti area, wine in hand and nature all around
Three days in Chianti where it's all about the good life
3 Days' Hiking in the Chianti
@visittuscany
A fascinating place, rich with culture, nature and typical products.
The luscious, rolling chain of Chianti hills that straddle the countryside of Florence and Siena, have characterised this area since the beginning of time. ...
Other towns and cities in Chianti
9 Itineraries
10 Attractions
Barberino Tavarnelle


Audra JAGER was last seen on October 21st at 12:20pm in the 2600 block of McBride Avenue and has not been heard from since.
JAGER is described as a 47 year old Caucasian female, 5'4, approximately 130 lbs, with brown hair and brown eyes. (Please see attached photo). She was last seen wearing a cream coloured jacket, black tights, and high-top printed shoes.
Police and family are concerned for her health and well-being. JAGER may appear confused or disorientated due a previous medical condition.
Anyone with information about the whereabouts of this person is asked to contact the Surrey RCMP at 604-599-0502 quoting file number 2017-150798.
If you wish to remain anonymous, call Crime Stoppers at 1-800-222-8477 or go to www.solvecrime.ca.
Posted in 2017 Alerts, Cancelled and tagged Surrey.


Until Elsa learned to control her powers, Arendelle remained in winter for a long time. So when summer finally arrived, Anna knew she needed a day at the spa for her legs to get them ready for shorts and skirts. Start by applying a scrub to remove the dead cells and get the ingrown hair out. Then apply a shaving cream and use an electric razor to remove all the hair. Then you will have to apply a cooling gel to make sure the redness disappears and complete with a nourishing cream to hydrate the skin. Now that her legs are ready you can get her ready for going out. Apply a fresh make-up by using contact lenses, defining her eyebrows and applying mascara, eye shadow, lipstick and blush or illuminator. Finally dress her up in a cute outfit. Have an incredible time playing Anna Legs Spa!


text:
Peer predictability: An adolescent strategy for increasing a sense of personal safety at school
Ellen de Lara
This action research and general system theory based qualitative inquiry examined adolescents' dependence on predicting the behavior of their peers as a strategy for enhancing their sense of safety at school and avoiding violence. A total of 95 adolescents in 9th through 12th grades from two small rural schools and one large suburban school in New York State participated in the study. Results indicated that students depend on Peer Predictability to feel safe during the school day when adults fail to predictably supervise or intervene in areas or interactions which adolescents perceive as potentially threatening. Familiarity leading to predictability allowed students to evaluate peers for the possibility of emotional or physical violence. This article presents quotes from the students that capture their unique experience.
Journal of School Violence
https://doi.org/10.1300/J202v01n03_03
General systems
Peer predictability
10.1300/J202v01n03_03
Dive into the research topics of 'Peer predictability: An adolescent strategy for increasing a sense of personal safety at school'. Together they form a unique fingerprint.
Violence Engineering & Materials Science 100%
School violence Social Sciences 43%
violence Social Sciences 43%
System theory Engineering & Materials Science 38%
rural school Social Sciences 38%
system theory Social Sciences 36%
de Lara, E. (2002). Peer predictability: An adolescent strategy for increasing a sense of personal safety at school. Journal of School Violence, 1(3), 31-56. https://doi.org/10.1300/J202v01n03_03
Peer predictability : An adolescent strategy for increasing a sense of personal safety at school. / de Lara, Ellen.
In: Journal of School Violence, Vol. 1, No. 3, 06.2002, p. 31-56.
de Lara, E 2002, 'Peer predictability: An adolescent strategy for increasing a sense of personal safety at school', Journal of School Violence, vol. 1, no. 3, pp. 31-56. https://doi.org/10.1300/J202v01n03_03
de Lara E. Peer predictability: An adolescent strategy for increasing a sense of personal safety at school. Journal of School Violence. 2002 Jun;1(3):31-56. https://doi.org/10.1300/J202v01n03_03
de Lara, Ellen. / Peer predictability : An adolescent strategy for increasing a sense of personal safety at school. In: Journal of School Violence. 2002 ; Vol. 1, No. 3. pp. 31-56.
@article{2c13ad9620524ab88da940c311b3a344,
title = "Peer predictability: An adolescent strategy for increasing a sense of personal safety at school",
abstract = "This action research and general system theory based qualitative inquiry examined adolescents{\textquoteright} dependence on predicting the behavior of their peers as a strategy for enhancing their sense of safety at school and avoiding violence. A total of 95 adolescents in 9th through 12th grades from two small rural schools and one large suburban school in New York State participated in the study. Results indicated that students depend on Peer Predictability to feel safe during the school day when adults fail to predictably supervise or intervene in areas or interactions which adolescents perceive as potentially threatening. Familiarity leading to predictability allowed students to evaluate peers for the possibility of emotional or physical violence. This article presents quotes from the students that capture their unique experience.",
keywords = "Action research, Adolescents, Bullying, Emotional violence, General systems, Peer predictability, Perception, School violence, Secondary schools",
author = "{de Lara}, Ellen",
note = "Funding Information: Funding for this research study was provided in part by the United States Department of Agriculture and Cornell Cooperative Extension.",
doi = "10.1300/J202v01n03_03",
journal = "Journal of School Violence",
T1 - Peer predictability
T2 - An adolescent strategy for increasing a sense of personal safety at school
AU - de Lara, Ellen
N1 - Funding Information: Funding for this research study was provided in part by the United States Department of Agriculture and Cornell Cooperative Extension.
N2 - This action research and general system theory based qualitative inquiry examined adolescents' dependence on predicting the behavior of their peers as a strategy for enhancing their sense of safety at school and avoiding violence. A total of 95 adolescents in 9th through 12th grades from two small rural schools and one large suburban school in New York State participated in the study. Results indicated that students depend on Peer Predictability to feel safe during the school day when adults fail to predictably supervise or intervene in areas or interactions which adolescents perceive as potentially threatening. Familiarity leading to predictability allowed students to evaluate peers for the possibility of emotional or physical violence. This article presents quotes from the students that capture their unique experience.
AB - This action research and general system theory based qualitative inquiry examined adolescents' dependence on predicting the behavior of their peers as a strategy for enhancing their sense of safety at school and avoiding violence. A total of 95 adolescents in 9th through 12th grades from two small rural schools and one large suburban school in New York State participated in the study. Results indicated that students depend on Peer Predictability to feel safe during the school day when adults fail to predictably supervise or intervene in areas or interactions which adolescents perceive as potentially threatening. Familiarity leading to predictability allowed students to evaluate peers for the possibility of emotional or physical violence. This article presents quotes from the students that capture their unique experience.
KW - Action research
KW - Adolescents
KW - Bullying
KW - Emotional violence
KW - General systems
KW - Peer predictability
KW - Perception
KW - School violence
KW - Secondary schools
U2 - 10.1300/J202v01n03_03
DO - 10.1300/J202v01n03_03
JO - Journal of School Violence
JF - Journal of School Violence


Product view 11 - 20 of 100 Total.
Toy - A toddler will adore the Smurfs Party Game, in as shown a great toy made by Hallmark. A list of characteristics are kids' party supplies and smurfs birthday theme. The Smurf toy dimensions are 0.5"H x 11"L x 8.5"W. It weighs somewhere around 0.3 lbs. The toy is available in as shown. UPC# 726528286947.
Toy - A Baby Smurf With Pacifier is an awesome doll. The EAN-13 code for this is 4005086207509. In my opinion, you will like that the product includes "a warm welcome to this beautiful world" is what our baby-blue smurf would like to tell you. Additional features consist of hand painted and highly detailed. The toy is 1.6"H x 1.2"L x 1.6"W. It weighs roughly 0.03 lbs.
Toy - Your girl or boy is going to take this Baby Smurf Figure everywhere. A summary of characteristics include highly detailed, great schleich quality and hand painted. It's 1.6"H x 1.2"L x 1.6"W. It weighs close to 0.02 lbs. 5052615040518 is the bar code for this item.
Toy - The feature characteristics include hand painted and highly detailed. The toy dimensions are 2.2"H x 1.2"L x 1.6"W. It has a weight of 0.03 lbs.


text:
Q: Reordenar array de objetos en Javascript después de eliminar un elemento Tengo un array de objetos en javascript:
  array = [
        {order:1,index2 :'whatever'},
        {order:2,index2: 'whatever'},
        {order:3,index2: 'whatever'},
        {order:4,index2: 'whatever'}
    ]

Si yo elimino el objecto: {order = 3,index2 = 'whatever'}, el array se quedaría así:
    array = [
        {order:1,index2:'whatever'},
        {order:2,index2:'whatever'},
        {order:4,index2:'whatever'}
    ]

¿Como podría hacer en Javascript, para que el array se quedase de esta manera? O sea, con el orden correlativo. Teniendo en cuenta de que order es un índice del objeto.
    array = [
        {order: 1,index2: 'whatever'},
        {order: 2,index2: 'whatever'},
        {order: 3,index2: 'whatever'}
    ]

A: esta es una opción:
Estructura correcta del array de objetos:
(Opción1)
 array = [
      { order: 1, index2: "whatever1" },
      { order: 2, index2: "whatever2" },
      { order: 3, index2: "whatever3" },
      { order: 4, index2: "whatever4" },
      { order: 5, index2: "whatever5" },
      { order: 6, index2: "whatever6" },
      { order: 7, index2: "whatever7" },
      { order: 8, index2: "whatever8" },
    ];

Averiguamos el indice del objeto que tiene como order el número 4 (aquí ponemos el deseado o una variable incluso)
const indiceDeElementoABorrar = array.findIndex((item) => item.order === 4);

Borramos el objeto que tenga el indice encontrado anteriormente
array.splice(indiceDeElementoABorrar, 1);

Recorremos todos los elementos del array, iniciando por el indice del elemento que borramos que ahora sería un número más corrido, entonces desde ese en adelante le bajamos uno a todos los order restantes.
for (let i = indiceDeElementoABorrar; i < array.length; i++) {
  array[i].order = array[i].order - 1;
}

Podrías volcarlo en una función que reciba como parámetro el número de order que deseas borrar y retorne el array sin ese order y con los de ahí en adelante corregidos para que todo sea correlativo.
Quedaría algo así:
(Opción2)
array = [
  { order: 1, index2: "whatever1" },
  { order: 2, index2: "whatever2" },
  { order: 3, index2: "whatever3" },
  { order: 4, index2: "whatever4" },
  { order: 5, index2: "whatever5" },
  { order: 6, index2: "whatever6" },
  { order: 8, index2: "whatever8" },
];

function eliminarOrder(numero) {
  const indiceDeElementoABorrar = array.findIndex(
    (item) => item.order === numero
  );
  array.splice(indiceDeElementoABorrar, 1);

  for (let i = indiceDeElementoABorrar; i < array.length; i++) {
    i > 0 ? (array[i].order = array[i - 1].order + 1) : (array[i].order = 1);
  }
  return array;
}

Este ejemplo incluso en vez de a partir del índice eliminado restar 1 a todos los siguientes, lo que hace en realidad es tomar el índice del anterior al eliminado, y en todas las iteraciones el order pasa a ser el order del índice anterior + 1, esto hace que si hay otro número no correlativo en cualquier otra parte del array más adelante se arregle.

Ejemplo con valor indiceDeElementoABorrar-1: (corresponde a opción 1)
order 0 valor 1
order 1 valor 1
order 2 valor 1
order 4 valor 1

En este ejemplo si borramos el order 1 quedaría:
order 0 valor 1
order 1 valor 1
order 3 valor 1

Ejemplo con valor valor indiceAnterior+1: (corresponde a opción 2)
order 0 valor 1
order 1 valor 1
order 2 valor 1
order 4 valor 1

En este ejemplo si borramos el order 1 quedaría:
order 0 valor 1
order 1 valor 1
order 2 valor 1

Por último este ordena todos los orders, por si había alguno salteado antes del indiceABorrar.
Quedaría así: Dejé el array desordenado a propósito.
(opción 3)
array = [
  { order: 1, index2: "whatever1" },
  { order: 3, index2: "whatever3" },
  { order: 4, index2: "whatever4" },
  { order: 5, index2: "whatever5" },
  { order: 6, index2: "whatever6" },
  { order: 9, index2: "whatever9" },
  { order: 11, index2: "whatever11" },
];

function eliminarOrder(numero) {
  const indiceDeElementoABorrar = array.findIndex(
    (item) => item.order === numero
  );
  array.splice(indiceDeElementoABorrar, 1);

  array.map((item, i)=> i===0 ? item.order=1 : item.order = array[i-1].order + 1)

  return array;
}

Es un poco más ineficiente porque siempre recorre absolutamente todos los orders, aunque borres el último. Pero te asegurás de que siempre queda todo bien ordenado sin importar donde estés borrando.
Supongamos que borramos el order 4 que es { order: 4, index2: "whatever4" }
El resultado de esto último ejemplo sería que array quedaría así.
Posición: Contenido
0: {order: 1, index2: 'whatever1'}
1: {order: 2, index2: 'whatever3'}
2: {order: 3, index2: 'whatever5'}
3: {order: 4, index2: 'whatever6'}
4: {order: 5, index2: 'whatever9'}
5: {order: 6, index2: 'whatever11'}

Espero sirva, quedo a las ordenes.

A: Según entiendo, lo que necesitas es cambiar una propiedad de cada objeto del array, y el valor a cambiar depende del índice de dicho array, se puede hacer con map():

const array = [
        {order:1,index2:'whatever'},
        {order:2,index2:'whatever'},
        {order:4,index2:'whatever'}
    ];

const res = array.map((e, i) => (e.order = ++i) && e);

console.log(res);

redpajama_set_name: RedPajamaStackExchange


Last edited by APOPCALYPSE on Tue Jan 22, 2019 9:15 pm, edited 1 time in total.
I hope these are easy to complete. I'm still missing the hot topic exclusives from the first series.
12 figures, with 3 exclusives; dare I hope for a 1/12 ratio set?
Is that Rickon or Theon between Cersei and Beric in the second image?
TadGhostal wrote: Is that Rickon or Theon between Cersei and Beric in the second image?
No one can tell from what I've heard. I'm leaning towards Theon now....but I originally thought it was Rickon. It's bad when you can't definitively who the characters are.
RogueSolo wrote: 12 figures, with 3 exclusives; dare I hope for a 1/12 ratio set?
I feel like Funko has been moving away from rare mystery mini sets so I could definitely see this being a 1/12 set.
S3 was a 1/12 set with 3 HT exclusives, so I hope S4 follows suit.
These look awesome!! I've been wondering if they would continue this line of mystery minis. There are some good ones in here.
I have the same hope but a guy on FB was arguing with me that they would have stated that already or wouldnt show 15 with just the common release box.
S3 was supper easy to collect and I would be a happy camper if this followed suit.
looks like it will be 1/12 - that would be nice!
I hope the ratios are good because I really want The Mountain.
One of the websites these are up for preorder on states that the rarities vary from 1/6 to 1/72. The estimates release date is from April to June.
babasdada wrote: looks like it will be 1/12 - that would be nice!
I'd just about given up on funko ever releasing another wave. Very excited for these.
It looks like Theon based on the outfit and facial features.
Yes series 3 was 1/12 with Hot topic exclusives Margery, Stannis and Tywin- was swapped out for the common box Melisandre, Sam and tormund.
HellKat613 wrote: I hope these are easy to complete. I'm still missing the hot topic exclusives from the first series.
Me too. I'm missing the HT exclusives from the first series, and one of the HT exclusives from the second series.
Me too. I'm honestly a bit disappointed that we're getting yet another variant of John, Dany, Tyrion and Arya instead of different characters. Give me Wun Wun, or a giant Wight, or Catelyn Stark, or even new versions of the two surviving wolves. I get that this series reflects the characters in the latest season, but still. every version of John Snow is so similar to each other that it gets boring.
APOPCALYPSE wrote: One of the websites these are up for preorder on states that the rarities vary from 1/6 to 1/72. The estimates release date is from April to June.
Eh, Funko is so inaccurate with ratios anymore that I don't trust anything reported (even by Funko) until someone buys a full case and figures out what the ratios actually are.
Need that Ice Viserion so bad!
I hope so, too. It's like the latest wave of Rick and Morty minis. Reported to be different ratios with 1/6s and 1/72s and the like, and the set ended up being 1/12. The wrong ratios were even printed on the boxes. It's been happening a LOT lately with mystery minis. Almost every set recently has had incorrect ratios listed.
Since this has been happening so much do you think it's intentional? Like they want to see if people will figure out they are all 1/12 or see if they will be flipped more? Even the sets with different ratios like the Aladdin minis were still wrong.
I don't think so. I think it's just poor quality control. Especially when you factor in the other issues with mystery minis lately (missing limbs, 2 packaged to a box, empty boxes, pieces that fall apart, etc).
It's super disappointing how bad QC has gotten. But some lines seem to have fewer issues. LOTR was one of those lines. No messed up ratios, and very few issues with paint or broken/missing pieces. I don't think I pulled a single mini from that line that wasn't perfect.
Deadpool, on the other hand, was a mess as far as QC went. I pulled so many with missing or broken pieces.
My guess is not that it's intentional, but that there's some major miscommunication when planning the sets, printing the boxes, and then creating the actual minis. They might do these things months apart, and then don't update them or have those departments talk to each other.
The only disappointment was the terrible store exclusive ratios (two Hot Topic 1/72s? Really?).
As a LOTR lover this was one set I had to complete. The only full case of LOTR I found at HT got me Withc king and Ihad to pay for the others. I made out in the end with them still rising.
Oh wow, I didn't hear about that. Are the exclusives hand pulled or do you think it was a computer error?
The exclusives were 1/36, 1/72, and 1/72, meaning there were two case options (Galadrial common who was 1/36) that had no exclusives. No errors, just terrible ratios and few restocks.
mmmrice wrote: Oh wow, I didn't hear about that. Are the exclusives hand pulled or do you think it was a computer error?


Geography and Geographic Information Science open up a world of opportunities in business, energy, environmental assessment, transportation, GIS, planning, health care, education, and government.
Our Mission is to enhance global wellbeing in a complex and interdependent world by advancing knowledge in the social, natural and geospatial sciences.
GGIS strongly affirms the University's statement on inclusion.
Geographic Information Science uses geospatial and computational technologies to visualize and analyze geographic data to tackle challenges in public health, the environment, business, and society.
River, Watershed, and Landscape Dynamics explores the physical and biological processes that shape the Earth's surface, as well as the intersection of these processes with human activity.
Cities and Metropolitan Areas examines the ever-changing social and spatial problems and possibilities facing cities across the global North and global South.
Society, Space & Environments integrates social science perspectives to analyze the interplay of social and spatial processes shaping natural and/or built environments.


articles about family life is a great way of dealing with family problems as these articles will bring on exterior perspectives on your problems which will help you analyze the situation in a more objective manner.
There is no family in this entire world that did not have at least once a conflict or a tensioned situation to deal with. The reason is that people are oriented towards socializing, communicating, expressing their thoughts and sometimes their words do not resonate with other people's ideas. The same things happen within a common family as well. As families can have between three and tens of members, the possibility that a conflict occurs is quite high. How could some people live together without having an argument? It is not a rule to fight against each other, but it is perfectly normal that they have some conflicts from time to time. The only thing that makes a difference is the way they react to their misunderstandings.
Most articles about family life agree on one thing: one of the best solutions that could help you understand how to deal with family problems is to try to tolerate every member in your group and try to understand its actions. For example, instead of overreacting and becoming angry you should start by looking for the cause of the problem and therefore try to solve it. If you notice that your parents feel frustrated and tired of everything from time to time you could try to talk to them, inspire them and maybe offer a positive perspective over the lives you have. There is no parent wishing for the worst for his child and even if sometimes they do not know how to express their feelings, it does not mean that they have none for you.
Communication and tolerance are two virtues that can help everyone deal with family conflicts. On the other hand, hiding your own opinions and pretening that everything is fine when in fact all is wrong is not a solution either. The key is to know how to say what bothers you without offending the other members of the family. It is about being assertive and trying to explain them your concern in a manner that will not make them angry at you. They need to understand that your need their support and you want them to empathize with you rather than start a fight and destroy every possibility of solving a problem that occurred within your family.


WINSTON-SALEM, N.C. - Dec. 21, 2018 - Amzeal -- Novamex announced the acquisition of Tio Gazpacho, a drinkable soup company with flavors inspired by Spain.
Novamex is a leading importer and marketer of Mexican soft drinks and groceries in the U.S., and is rapidly becoming a platform for the growth and development of natural and organic beverages.
"We're thrilled to welcome the Tio brand to the Novamex family," said Luis Fernandez, chief executive officer of Novamex. "Consistent with our Be Super Good and Stay Unique manifesto, we believe Tio's fresh, flavorful, and portable products serve today's consumer in a differentiated way."
Tio Gazpacho was founded in 2014 by Austin Allan after he spent four years living abroad in Spain. Enamored with the country's way of life and love of chilled soup, Austin knew that gazpacho could be a great way to bring a little bit of Spain to the U.S. while creating a product as delicious as it is healthy.
After partnering with Michelin-starred chef and restaurateur José Andrés, Tio has expanded its line to five unique flavors of portable chilled soup that are now sold in the Northeast, West Coast and Chicago Markets and online at Amazon.com.


text:
Esignanywhere Scam (2022) Do You Know About That ?
February 9, 2022 Hymnia
1 What's Esignanywhere?
2 Is Esignanywhere Scam or Legit?
3 Do You Know The Testimonials?
What's Esignanywhere?
Esignanywhere may be the e-signature workflow reporting and orchestration solution by Namirial. The service enables you to organize documentation and send them for compliant, secure, and legally binding e-sign.
Esignanywhere belongs to Namirial Digital Transaction Management, which is readily available for subscription as private Saas, shared SaaS, as well as on-premise deployment. The service helps companies within the U . s . States meet their omnichannel needs, enabling these to manage all of the e-signing situations, whether remotely or personally.
But, many users continue to be reluctant and wish to know if it's legit or perhaps a scam.
Is Esignanywhere Scam or Legit?
Since e-sign is really a delicate matter for just about any business and individual, individuals are wondering when the services are legit or otherwise. Individuals are searching on the internet to understand its authenticity. So, we've shared a few details that will help people know if it's worth time or perhaps a scam.
Esignanywhere.com domain was produced on 05th April 2016, which is greater than a five-year-old website. The domain was updated on 06th April 2020 and registered on 05th April 2022.
The trust score from the web site is 61%, also it means the danger is average, and additional analysis is essential to understand if Esignanywhere Scam or legit.
Besides, the Alexa Ranking from the web site is #2 205 363.
You will find mixed reviews found on the internet having a 5-star rating from consumers.
It's the sub-domain of the reliable website and it is connected with Namirial.
According to these records, we can't completely contemplate it a gimmick. The website's authenticity can't be guaranteed as it is the sub-domain produced utilizing a different platform.
Do You Know The Testimonials?
After evaluating, we found many users have shared reviews on multiple platforms. According to these reviews, it's possible to easily determine whether Esignanywhere Scam or legit.
It's received mixed reviews in the consumers, which a lot of the comments are positive as well as in favor, having a 5-star rating. However, many individuals have shared negative feedback concerning the technical department and software. So, you have to carefully review and evaluate the web site before joining Esignanywhere.internet.
Esignanywhere.internet may be the sub-domain of Namirial, also it offers e-signing methods to companies and people. Despite being connected with Namirial, many consumers question if Esignanywhere Scam or legit.
The web site can't be described as a scam since it has been in existence since 2016, serving various consumers, and it has received multiple feedback. But further analysis is essential before while using services. Besides, you need to discover the tips about how to Safeguard Yourself from the Scam to remain protected.


This is Workout #1 of my 10 Week Workout Series with BodyRock.tv. The video is posted below.
I have been getting a lot of questions about how often to do this workout, and if it should be paired with other workouts.
I have created a weekly workout schedule with some of my existing workouts that incorporates this workout. You can also do it in addition to the new workouts that I will be posting this week or incorporate it into your normal schedule.
Let me know what you think of the workout! I hope you all enjoy it! I am currently en-route to San Francisco. I will be filming new workouts while I am there!
***If you would like to incorporate running into this schedule you can add 20-30 minutes of running to any workout day. Be sure to listen to your body and rest/decrease the number of rounds as needed.
Set your Interval Timer for 12 Rounds of 10/50.
Thanks for making working out so much easier!
Do you recommend running (or biking) first or after the workout? Thanks!
Thank you for posting a week of workouts! These next 7 days are going to be busy busy busy for me and it's nice to have a schedule of different workouts. Just one less thing I have to do. Awesome, thank you!
The countdown timer was a nice touch!
How much rest time between sets?
Did twice followed by 1 mile treadmill run. Love your workouts!!!
I got a little late to the challenge, but I will start it from the very beginning on Sunday! I know it will be fun because since I started following Melissa's workouts I've enjoyed the a lot. She is so awesome!!!!
I've just started from Week 1! I've done several of your weekly workouts, just not in order. I love how you offer more of your workouts for a weekly schedule. Thanks a lot!
Do you have a equipment list for this schedule and the other weeks? I would like to be ready/ know in advance before I start this series. And can you give alternatives if we do not have certain pieces of equipment? Thank you!
Absolutely. The workouts vary from no equipment to some equipment. You will definitely benefit from having dumbbells, a yoga mat, and a step/chair/or bench.
In a few of the videos I also use a T-Bar (barbell), and a weighted vest. You can use dumbbells if you don't have a barbell. If you don't have the weighted vest skip it and focus on getting in max reps per exercise. For a couple of the videos I also use a dip stand, but you can use one or two chairs, or benches to complete the exercises. 🙂 There are always ways to modify if you don't have the equipment at home. If you run across any other videos with equipment you aren't sure about let me know.
I wii do 10weeks exercises program. First, I'm done. Thank you!!!
Thank you so much for posting these free workouts! As a college student I can't afford an expensive program or gym membership, but your videos are all I need to stay in great shape! In fact, I am in the best shape of my life thanks to you. I think it is beyond generous of you to provide these fantastic videos for free. I can't thank you enough for your kindness and inspiration!
I'm starting your BodyRock workouts today. I'm 2 weeks postpartum with my second child and I'm excited to get back into my normal workout routine. I just completed 2 rounds of the first workout and it was great! I'm excited to rebuild my strength and stamina. Thank you so much!
Thank you, Melissa! I love your workouts – perfect for my busy life! Now I have no excuses for getting a quick workout incorporated into my day. You are an inspiration!
I am just starting out and saw this. I see there are 10 weeks of workouts. This is Week one, but where can I find the next 9 weeks? I went to the website but i can't find these particular videos. Thanks!
Great workout, I dropped in sweat!!! Thanks a lot for sharing this workout!!
I love these workouts. It was really nice to try some new moves that these videos have to offer. I really appreciate the countdown/timer (good with kids and timing naps/etc). I also love the variety. other workout programs i have completed always have complete this workout segment for week 1- then another video for week two… I found those to become cumbersome and not motivating as opposed to this program. THANK YOU!!!!!


We are working hard to grow in faith, love and learning by supporting and encouraging each other. We learn in our R.E Topic how we are all part of God's family and that to be a happy family; everyone needs to play their special part.
Here in year 3, the children have the support of lots of adults – we have Mrs Ferguson and Mrs Dobbs as our teachers, Mrs Ganley our French teacher, Mrs Whelan who supports each morning and Mrs Draper who supports us in her role as our class governor – we all love being part of the 'Fabulous Family of Y3' - you are very welcome to join us by coming in and helping whenever you can!
Our Year 3 curriculum is exciting and varied, with lots of practical activities to enjoy. We have daily English lessons which are linked to our RE, Science, History & Geography topics.
In our music lessons we are learning to play the Samba drums, the xylophone and the African drums. Each term we will hold a performance for our family and friends.
PE is also a very important part of our curriculum and we enjoy a wide variety of sports with enthusiasm, including swimming every Friday.


Thread: zak's 04 330ci ZHP fix it project.
So dose the pump on the washer fluid tank run both windshield and headlight washers?
There is a separate pump on the washer reservoir for the headlight washers. There's one closer to the headlight and one that's further back. The one that's closest runs the headlight washers.
Can the Headlight washers be coded out?
I know Barry did some tweaks to the code for something.
Yes they can be coded out.
Thanks, going to leave them hooked up and check into that. My brother was very picky and i don't think he would like the washer fluid running up the hood, feels to me like it would be something he would do. I still have his laptop that has the software on it.
Thanks you guys are big help.
Pic of the front pump for the headlight washers. Going to have to get a hand to check if that pump is pumping.
Put in the spare pump that I couldn't remember where it came from and its squirts like nuts now, the old one made noise but no pressure.. And... wait for it.
No more leaks, mucked up an o ring.
Last edited by zak; 04-07-2019 at 08:39 AM.
So fixed? If so, good stuff. Or do u still need to do the o-ring?
Yup, fixed with a new o ring, mucked it up pulling it apart so many times... And no leaks over a couple days.
Looks like the spare pump came from the M3 washer fluid tank i got with the parts i bought.
Had a bad projector bulb that i could not get out with the headlight in, the bulb was jacked up in the socket not allowing me to get it out.
Last edited by zak; 04-21-2019 at 09:55 AM.